diff --git a/docker-compose.yml b/docker-compose.yml index 4556492..4fa9842 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,3 +1,4 @@ + services: nginx: image: nginx:latest @@ -22,7 +23,7 @@ services: restart: always command: /bin/sh -c "sleep 5 && venv/bin/python manage.py makemigrations --noinput && - venv/bin/python manage.py migrate --noinput && + venv/bin/python manage.py migrate --noinput && venv/bin/python manage.py collectstatic --noinput && venv/bin/daphne -b 0.0.0.0 -p 8080 pong.asgi:application" volumes: diff --git a/env_template b/env_template index 92f05fd..165b010 100644 --- a/env_template +++ b/env_template @@ -6,7 +6,7 @@ DJANGO_ALLOWED_HOSTS=['*'] # PostgreSQL settings POSTGRES_DB=players_db POSTGRES_USER=42student -POSTGRES_PASSWORD=postgre_pass +POSTGRES_PASSWORD= # Django settings DB_HOST=db @@ -20,11 +20,11 @@ CLUSTER_NAME=docker-cluster LICENSE=basic ELASTIC_USERNAME=elastic -ELASTIC_PASSWORD=elastic_pass +ELASTIC_PASSWORD= # Kibana settings KIBANA_PORT=5601 KIBANA_USERNAME=kibana_system -KIBANA_PASSWORD=kibana_pass +KIBANA_PASSWORD= ENCRYPTION_KEY=c34d38b3a14956121ff2170e5030b471551370178f43e5626eec58b04a30fae2 diff --git a/logs/172.31.141.12-1726534356068.log b/logs/172.31.141.12-1726534356068.log new file mode 100644 index 0000000..ced317b --- /dev/null +++ b/logs/172.31.141.12-1726534356068.log @@ -0,0 +1,53 @@ +:8080/:1 The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead. See https://www.w3.org/TR/powerful-features/#potentially-trustworthy-origin and https://html.spec.whatwg.org/#the-cross-origin-opener-policy-header. +game.js:3 DOM fully loaded and parsed +game.js:43 DOM elements initialized +game.js:118 checkUserExists called with username: v +game.js:134 User existence check response: {exists: false} +game.js:143 handleRegister called +game.js:148 Nickname: v +game.js:149 Password: v +game.js:150 Confirm Password: v +game.js:154 Attempting to register user: v +game.js:156 Register result: {registered: true, token: '7ab181bc-7bf7-4ac0-a562-23e1c455ca23'} +game.js:160 Token stored: 7ab181bc-7bf7-4ac0-a562-23e1c455ca23 +game.js:161 User registered successfully +game.js:166 ChatManager initialized: null +game.js:168 Initializing ChatManager with username: v and token: 7ab181bc-7bf7-4ac0-a562-23e1c455ca23 +game.js:732 ChatManager initialized for user: v +game.js:170 ChatManager initialized: ChatManager {username: 'v', token: '7ab181bc-7bf7-4ac0-a562-23e1c455ca23', roomSockets: {…}, blockedUsers: Array(0), activeRoom: null, …} +game.js:173 chatManager is defined: ChatManager {username: 'v', token: '7ab181bc-7bf7-4ac0-a562-23e1c455ca23', roomSockets: {…}, blockedUsers: Array(0), activeRoom: null, …} +game.js:178 Joining room: main_room +game.js:983 Joining room: main_room with username: v and token: 7ab181bc-7bf7-4ac0-a562-23e1c455ca23 +game.js:991 Joining new room: main_room +game.js:910 createRoomTab: main_room with username: v and token: 7ab181bc-7bf7-4ac0-a562-23e1c455ca23 +game.js:920 Tab for room main_room already exists. +game.js:933 Showing tab for room: main_room +game.js:747 Initializing chat WebSocket... +game.js:748 Initializing chat WebSocket for room: main_room with username: v +game.js:753 startChatWebSocket: main_room with username: v and token: 7ab181bc-7bf7-4ac0-a562-23e1c455ca23 +game.js:1012 ChatInput initialized for room: main_room, username: v +game.js:945 Attempting to switch to room: main_room +game.js:951 Switching from room null to room main_room +game.js:759 WebSocket ouvert pour l'utilisateur v dans la room main_room +game.js:767 Authentication message sent for room: main_room with username: v +game.js:773 Message received from server in room main_room: {type: 'chat_message', username: 'v', message: 'Authentication successful', room: 'main_room'} +game.js:798 Message displayed in chat log for room: main_room +game.js:773 Message received from server in room main_room: {type: 'chat_message', username: 'f', message: 'Authentication successful', room: 'main_room'} +game.js:798 Message displayed in chat log for room: main_room +game.js:1019 Enter key pressed, attempting to send message... +game.js:1032 Attempting to send message: /s f +game.js:1045 Detected stats command for user: f +game.js:677 Fetching stats for user: f +game.js:1057 Message input cleared. +game.js:680 + + + POST http://172.31.141.12:8080/game_server/get_player_stats/ 404 (Not Found) +fetchPlayerStatsFromGameServer @ game.js:680 +sendMessage @ game.js:1046 +(anonymous) @ game.js:1020 +game.js:689 Failed to fetch stats for f. HTTP error! Status: 404 +fetchPlayerStatsFromGameServer @ game.js:689 +await in fetchPlayerStatsFromGameServer +sendMessage @ game.js:1046 +(anonymous) @ game.js:1020 diff --git a/logs/172.31.141.12-1726534693901.log b/logs/172.31.141.12-1726534693901.log new file mode 100644 index 0000000..ab59820 --- /dev/null +++ b/logs/172.31.141.12-1726534693901.log @@ -0,0 +1,41 @@ +:8080/:1 The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead. See https://www.w3.org/TR/powerful-features/#potentially-trustworthy-origin and https://html.spec.whatwg.org/#the-cross-origin-opener-policy-header. +game.js:3 DOM fully loaded and parsed +game.js:43 DOM elements initialized +game.js:118 checkUserExists called with username: g +game.js:134 User existence check response: {exists: true} +game.js:224 Initializing ChatManager... +game.js:732 ChatManager initialized for user: g +game.js:983 Joining room: main_room with username: g and token: 458f5428-2c48-4dbe-b126-815da541e7fb +game.js:991 Joining new room: main_room +game.js:910 createRoomTab: main_room with username: g and token: 458f5428-2c48-4dbe-b126-815da541e7fb +game.js:920 Tab for room main_room already exists. +game.js:933 Showing tab for room: main_room +game.js:747 Initializing chat WebSocket... +game.js:748 Initializing chat WebSocket for room: main_room with username: g +game.js:753 startChatWebSocket: main_room with username: g and token: 458f5428-2c48-4dbe-b126-815da541e7fb +game.js:1012 ChatInput initialized for room: main_room, username: g +game.js:945 Attempting to switch to room: main_room +game.js:951 Switching from room null to room main_room +game.js:759 WebSocket ouvert pour l'utilisateur g dans la room main_room +game.js:767 Authentication message sent for room: main_room with username: g +game.js:773 Message received from server in room main_room: {type: 'chat_message', username: 'g', message: 'Authentication successful', room: 'main_room'} +game.js:798 Message displayed in chat log for room: main_room +game.js:773 Message received from server in room main_room: {type: 'chat_message', username: 'h', message: 'Authentication successful', room: 'main_room'} +game.js:798 Message displayed in chat log for room: main_room +game.js:1019 Enter key pressed, attempting to send message... +game.js:1032 Attempting to send message: /s h +game.js:1045 Detected stats command for user: h +game.js:677 Fetching stats for user: h +game.js:1057 Message input cleared. +game.js:680 + + + POST http://172.31.141.12:8080/get_player_stats/ 404 (Not Found) +fetchPlayerStatsFromGameServer @ game.js:680 +sendMessage @ game.js:1046 +(anonymous) @ game.js:1020 +game.js:689 Failed to fetch stats for h. HTTP error! Status: 404 +fetchPlayerStatsFromGameServer @ game.js:689 +await in fetchPlayerStatsFromGameServer +sendMessage @ game.js:1046 +(anonymous) @ game.js:1020 diff --git a/logs/172.31.141.12-1726536620868.log b/logs/172.31.141.12-1726536620868.log new file mode 100644 index 0000000..00bd860 --- /dev/null +++ b/logs/172.31.141.12-1726536620868.log @@ -0,0 +1,6 @@ +get_player_stats/:1 + + + GET http://172.31.141.12:8080/get_player_stats/ 405 (Method Not Allowed) +get_player_stats/:1 The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead. See https://www.w3.org/TR/powerful-features/#potentially-trustworthy-origin and https://html.spec.whatwg.org/#the-cross-origin-opener-policy-header. +get_player_stats/:1 The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead. See https://www.w3.org/TR/powerful-features/#potentially-trustworthy-origin and https://html.spec.whatwg.org/#the-cross-origin-opener-policy-header. diff --git a/logs/172.31.141.12-1726538690438.log b/logs/172.31.141.12-1726538690438.log new file mode 100644 index 0000000..09e9c0e --- /dev/null +++ b/logs/172.31.141.12-1726538690438.log @@ -0,0 +1,33 @@ +:8080/:1 The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead. See https://www.w3.org/TR/powerful-features/#potentially-trustworthy-origin and https://html.spec.whatwg.org/#the-cross-origin-opener-policy-header. +game.js:3 DOM fully loaded and parsed +game.js:43 DOM elements initialized +game.js:118 checkUserExists called with username: vv +game.js:134 User existence check response: {exists: true} +game.js:224 Initializing ChatManager... +game.js:748 ChatManager initialized for user: vv +game.js:999 Joining room: main_room with username: vv and token: 51edbeca-570d-4536-b81d-4eaa64051300 +game.js:1007 Joining new room: main_room +game.js:926 createRoomTab: main_room with username: vv and token: 51edbeca-570d-4536-b81d-4eaa64051300 +game.js:936 Tab for room main_room already exists. +game.js:949 Showing tab for room: main_room +game.js:763 Initializing chat WebSocket... +game.js:764 Initializing chat WebSocket for room: main_room with username: vv +game.js:769 startChatWebSocket: main_room with username: vv and token: 51edbeca-570d-4536-b81d-4eaa64051300 +game.js:1042 ChatInput initialized for room: main_room, username: vv +game.js:961 Attempting to switch to room: main_room +game.js:967 Switching from room null to room main_room +game.js:775 WebSocket ouvert pour l'utilisateur vv dans la room main_room +game.js:783 Authentication message sent for room: main_room with username: vv +game.js:789 Message received from server in room main_room: {type: 'chat_message', username: 'vv', message: 'Authentication successful', room: 'main_room'} +game.js:814 Message displayed in chat log for room: main_room +game.js:1049 Enter key pressed, attempting to send message... +game.js:1062 Attempting to send message: /s v +game.js:1075 Detected stats command for user: v +game.js:721 Player stats not loaded yet. Fetching all player stats... +game.js:1087 Message input cleared. +game.js:708 All player stats received: {players: Array(0)} +game.js:732 Player with username v not found. +getPlayerStatsByUsername @ game.js:732 +await in getPlayerStatsByUsername +sendMessage @ game.js:1076 +(anonymous) @ game.js:1050 diff --git a/logs/172.31.141.12-1726541943958.log b/logs/172.31.141.12-1726541943958.log new file mode 100644 index 0000000..c542c00 --- /dev/null +++ b/logs/172.31.141.12-1726541943958.log @@ -0,0 +1,47 @@ +:8080/:1 The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead. See https://www.w3.org/TR/powerful-features/#potentially-trustworthy-origin and https://html.spec.whatwg.org/#the-cross-origin-opener-policy-header. +game.js:3 DOM fully loaded and parsed +game.js:43 DOM elements initialized +game.js:118 checkUserExists called with username: x +game.js:134 User existence check response: {exists: false} +game.js:143 handleRegister called +game.js:148 Nickname: x +game.js:149 Password: x +game.js:150 Confirm Password: x +game.js:154 Attempting to register user: x +game.js:156 Register result: {registered: true, token: '7dfe4c69-eaf0-49ca-b914-3f69bc9dda57'} +game.js:160 Token stored: 7dfe4c69-eaf0-49ca-b914-3f69bc9dda57 +game.js:161 User registered successfully +game.js:166 ChatManager initialized: null +game.js:168 Initializing ChatManager with username: x and token: 7dfe4c69-eaf0-49ca-b914-3f69bc9dda57 +game.js:753 ChatManager initialized for user: x +game.js:170 ChatManager initialized: ChatManager {username: 'x', token: '7dfe4c69-eaf0-49ca-b914-3f69bc9dda57', roomSockets: {…}, blockedUsers: Array(0), activeRoom: null, …} +game.js:173 chatManager is defined: ChatManager {username: 'x', token: '7dfe4c69-eaf0-49ca-b914-3f69bc9dda57', roomSockets: {…}, blockedUsers: Array(0), activeRoom: null, …} +game.js:178 Joining room: main_room +game.js:1018 Joining room: main_room with username: x and token: 7dfe4c69-eaf0-49ca-b914-3f69bc9dda57 +game.js:1026 Joining new room: main_room +game.js:945 createRoomTab: main_room with username: x and token: 7dfe4c69-eaf0-49ca-b914-3f69bc9dda57 +game.js:955 Tab for room main_room already exists. +game.js:968 Showing tab for room: main_room +game.js:782 Initializing chat WebSocket... +game.js:783 Initializing chat WebSocket for room: main_room with username: x +game.js:788 startChatWebSocket: main_room with username: x and token: 7dfe4c69-eaf0-49ca-b914-3f69bc9dda57 +game.js:1061 ChatInput initialized for room: main_room, username: x +game.js:980 Attempting to switch to room: main_room +game.js:986 Switching from room null to room main_room +game.js:794 WebSocket ouvert pour l'utilisateur x dans la room main_room +game.js:802 Authentication message sent for room: main_room with username: x +game.js:808 Message received from server in room main_room: {type: 'chat_message', username: 'x', message: 'Authentication successful', room: 'main_room'} +game.js:833 Message displayed in chat log for room: main_room +game.js:808 Message received from server in room main_room: {type: 'chat_message', username: 'w', message: 'Authentication successful', room: 'main_room'} +game.js:833 Message displayed in chat log for room: main_room +game.js:1068 Enter key pressed, attempting to send message... +game.js:1081 Attempting to send message: /s w +game.js:1094 Detected stats command for user: w +game.js:660 Detected stats command for user: w +game.js:663 Uncaught ReferenceError: fetchPlayers is not defined + at sendStatsCommand (game.js:663:6) + at ChatInput.sendMessage (game.js:1095:6) + at HTMLInputElement. (game.js:1069:11) +sendStatsCommand @ game.js:663 +sendMessage @ game.js:1095 +(anonymous) @ game.js:1069 diff --git a/logs/172.31.141.12-1726542449903.log b/logs/172.31.141.12-1726542449903.log new file mode 100644 index 0000000..f4037ae --- /dev/null +++ b/logs/172.31.141.12-1726542449903.log @@ -0,0 +1,46 @@ +:8080/:1 The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead. See https://www.w3.org/TR/powerful-features/#potentially-trustworthy-origin and https://html.spec.whatwg.org/#the-cross-origin-opener-policy-header. +game.js:3 DOM fully loaded and parsed +game.js:43 DOM elements initialized +game.js:118 checkUserExists called with username: g +game.js:134 User existence check response: {exists: true} +game.js:224 Initializing ChatManager... +game.js:765 ChatManager initialized for user: g +game.js:1030 Joining room: main_room with username: g and token: 458f5428-2c48-4dbe-b126-815da541e7fb +game.js:1038 Joining new room: main_room +game.js:957 createRoomTab: main_room with username: g and token: 458f5428-2c48-4dbe-b126-815da541e7fb +game.js:967 Tab for room main_room already exists. +game.js:980 Showing tab for room: main_room +game.js:794 Initializing chat WebSocket... +game.js:795 Initializing chat WebSocket for room: main_room with username: g +game.js:800 startChatWebSocket: main_room with username: g and token: 458f5428-2c48-4dbe-b126-815da541e7fb +game.js:1073 ChatInput initialized for room: main_room, username: g +game.js:992 Attempting to switch to room: main_room +game.js:998 Switching from room null to room main_room +game.js:806 WebSocket ouvert pour l'utilisateur g dans la room main_room +game.js:814 Authentication message sent for room: main_room with username: g +game.js:820 Message received from server in room main_room: {type: 'chat_message', username: 'g', message: 'Authentication successful', room: 'main_room'} +game.js:845 Message displayed in chat log for room: main_room +game.js:820 Message received from server in room main_room: {type: 'chat_message', username: 'h', message: 'Authentication successful', room: 'main_room'} +game.js:845 Message displayed in chat log for room: main_room +game.js:820 Message received from server in room main_room: {type: 'chat_message', username: 'h', message: 'ggg', room: 'main_room'} +game.js:845 Message displayed in chat log for room: main_room +game.js:1080 Enter key pressed, attempting to send message... +game.js:1093 Attempting to send message: /s h +game.js:1106 Detected stats command for user: h +game.js:672 Detected stats command for user: h +game.js:659 Fetching players... +game.js:675 Uncaught TypeError: Cannot read properties of undefined (reading 'then') + at sendStatsCommand (game.js:675:20) + at ChatInput.sendMessage (game.js:1107:6) + at HTMLInputElement. (game.js:1081:11) +sendStatsCommand @ game.js:675 +sendMessage @ game.js:1107 +(anonymous) @ game.js:1081 +game.js:667 Error fetching match data: ReferenceError: displayPlayers is not defined + at game.js:664:21 +(anonymous) @ game.js:667 +Promise.catch +fetchPlayers @ game.js:667 +sendStatsCommand @ game.js:675 +sendMessage @ game.js:1107 +(anonymous) @ game.js:1081 diff --git a/logs/172.31.141.12-1726543072083.log b/logs/172.31.141.12-1726543072083.log new file mode 100644 index 0000000..4a57504 --- /dev/null +++ b/logs/172.31.141.12-1726543072083.log @@ -0,0 +1,37 @@ +:8080/:1 The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead. See https://www.w3.org/TR/powerful-features/#potentially-trustworthy-origin and https://html.spec.whatwg.org/#the-cross-origin-opener-policy-header. +game.js:3 DOM fully loaded and parsed +game.js:43 DOM elements initialized +game.js:118 checkUserExists called with username: h +game.js:134 User existence check response: {exists: true} +game.js:224 Initializing ChatManager... +game.js:753 ChatManager initialized for user: h +game.js:1018 Joining room: main_room with username: h and token: 27cda257-bf3c-4523-82e3-28bafd5a6ad2 +game.js:1026 Joining new room: main_room +game.js:945 createRoomTab: main_room with username: h and token: 27cda257-bf3c-4523-82e3-28bafd5a6ad2 +game.js:955 Tab for room main_room already exists. +game.js:968 Showing tab for room: main_room +game.js:782 Initializing chat WebSocket... +game.js:783 Initializing chat WebSocket for room: main_room with username: h +game.js:788 startChatWebSocket: main_room with username: h and token: 27cda257-bf3c-4523-82e3-28bafd5a6ad2 +game.js:1061 ChatInput initialized for room: main_room, username: h +game.js:980 Attempting to switch to room: main_room +game.js:986 Switching from room null to room main_room +game.js:794 WebSocket ouvert pour l'utilisateur h dans la room main_room +game.js:802 Authentication message sent for room: main_room with username: h +game.js:808 Message received from server in room main_room: {type: 'chat_message', username: 'h', message: 'Authentication successful', room: 'main_room'} +game.js:833 Message displayed in chat log for room: main_room +game.js:808 Message received from server in room main_room: {type: 'chat_message', username: 't', message: 'Authentication successful', room: 'main_room'} +game.js:833 Message displayed in chat log for room: main_room +game.js:1068 Enter key pressed, attempting to send message... +game.js:1081 Attempting to send message: /s t +game.js:1094 Detected stats command for user: t +game.js:660 Detected stats command for user: t +burger.js:79 Fetching players... +game.js:663 Uncaught TypeError: Cannot read properties of undefined (reading 'then') + at sendStatsCommand (game.js:663:20) + at ChatInput.sendMessage (game.js:1095:6) + at HTMLInputElement. (game.js:1069:11) +sendStatsCommand @ game.js:663 +sendMessage @ game.js:1095 +(anonymous) @ game.js:1069 +burger.js:136 Displaying players: diff --git a/logs/172.31.141.12-1726543851799.log b/logs/172.31.141.12-1726543851799.log new file mode 100644 index 0000000..c07dbb4 --- /dev/null +++ b/logs/172.31.141.12-1726543851799.log @@ -0,0 +1,1223 @@ +:8080/:1 The Cross-Origin-Opener-Policy header has been ignored, because the URL's origin was untrustworthy. It was defined either in the final response or a redirect. Please deliver the response using the HTTPS protocol. You can also use the 'localhost' origin instead. See https://www.w3.org/TR/powerful-features/#potentially-trustworthy-origin and https://html.spec.whatwg.org/#the-cross-origin-opener-policy-header. +game.js:3 DOM fully loaded and parsed +game.js:43 DOM elements initialized +game.js:118 checkUserExists called with username: hhh +game.js:134 User existence check response: {exists: false} +game.js:143 handleRegister called +game.js:148 Nickname: hhh +game.js:149 Password: h +game.js:150 Confirm Password: h +game.js:154 Attempting to register user: hhh +game.js:156 Register result: {registered: true, token: '56c05ced-8b37-4179-9c9a-8f44db796351'} +game.js:160 Token stored: 56c05ced-8b37-4179-9c9a-8f44db796351 +game.js:161 User registered successfully +game.js:166 ChatManager initialized: null +game.js:168 Initializing ChatManager with username: hhh and token: 56c05ced-8b37-4179-9c9a-8f44db796351 +game.js:762 ChatManager initialized for user: hhh +game.js:170 ChatManager initialized: ChatManager {username: 'hhh', token: '56c05ced-8b37-4179-9c9a-8f44db796351', roomSockets: {…}, blockedUsers: Array(0), activeRoom: null, …} +game.js:173 chatManager is defined: ChatManager {username: 'hhh', token: '56c05ced-8b37-4179-9c9a-8f44db796351', roomSockets: {…}, blockedUsers: Array(0), activeRoom: null, …} +game.js:178 Joining room: main_room +game.js:1027 Joining room: main_room with username: hhh and token: 56c05ced-8b37-4179-9c9a-8f44db796351 +game.js:1035 Joining new room: main_room +game.js:954 createRoomTab: main_room with username: hhh and token: 56c05ced-8b37-4179-9c9a-8f44db796351 +game.js:964 Tab for room main_room already exists. +game.js:977 Showing tab for room: main_room +game.js:791 Initializing chat WebSocket... +game.js:792 Initializing chat WebSocket for room: main_room with username: hhh +game.js:797 startChatWebSocket: main_room with username: hhh and token: 56c05ced-8b37-4179-9c9a-8f44db796351 +game.js:1070 ChatInput initialized for room: main_room, username: hhh +game.js:989 Attempting to switch to room: main_room +game.js:995 Switching from room null to room main_room +game.js:803 WebSocket ouvert pour l'utilisateur hhh dans la room main_room +game.js:811 Authentication message sent for room: main_room with username: hhh +game.js:817 Message received from server in room main_room: {type: 'chat_message', username: 'hhh', message: 'Authentication successful', room: 'main_room'} +game.js:842 Message displayed in chat log for room: main_room +game.js:817 Message received from server in room main_room: {type: 'chat_message', username: 'v', message: 'Authentication successful', room: 'main_room'} +game.js:842 Message displayed in chat log for room: main_room +game.js:1077 Enter key pressed, attempting to send message... +game.js:1090 Attempting to send message: /s v +game.js:1103 Detected stats command for user: v +game.js:660 Detected stats command for user: v +burger.js:79 Fetching players... +game.js:1115 Message input cleared. +burger.js:149 Displaying players: +game.js:669 Players received in sendStatsCommand: [] +game.js:677 Player with username v not found. +game.js:817 Message received from server in room main_room: {type: 'chat_message', username: 'er', message: 'Authentication successful', room: 'main_room'} +game.js:842 Message displayed in chat log for room: main_room +game.js:459 Token before WebSocket authentication: 56c05ced-8b37-4179-9c9a-8f44db796351 +game.js:762 ChatManager initialized for user: hhh +game.js:1027 Joining room: tournament with username: hhh and token: 56c05ced-8b37-4179-9c9a-8f44db796351 +game.js:1035 Joining new room: tournament +game.js:954 createRoomTab: tournament with username: hhh and token: 56c05ced-8b37-4179-9c9a-8f44db796351 +game.js:964 Tab for room tournament already exists. +game.js:977 Showing tab for room: tournament +game.js:791 Initializing chat WebSocket... +game.js:792 Initializing chat WebSocket for room: tournament with username: hhh +game.js:797 startChatWebSocket: tournament with username: hhh and token: 56c05ced-8b37-4179-9c9a-8f44db796351 +game.js:1070 ChatInput initialized for room: tournament, username: hhh +game.js:989 Attempting to switch to room: tournament +game.js:995 Switching from room main_room to room tournament +game.js:1000 Hiding chat log for previous room: main_room +game.js:473 Starting WebSocket connection for tournament... +game.js:803 WebSocket ouvert pour l'utilisateur hhh dans la room tournament +game.js:811 Authentication message sent for room: tournament with username: hhh +game.js:817 Message received from server in room tournament: {type: 'chat_message', username: 'hhh', message: 'Authentication successful', room: 'tournament'} +game.js:842 Message displayed in chat log for room: tournament +game.js:486 WebSocket connection established +game.js:494 Sending token for a tournament game +game.js:502 Authentication successful +game.js:525 Start TOURNAMENT sent.. +game.js:539 Prochain match du tournoi: Prochain match: er contre v +game.js:506 Game started: 2 ( hhh vs BOT ) +game.js:514 Game ended: 2 +game.js:817 Message received from server in room tournament: {type: 'chat_message', username: 'Server', message: 'Prochain match: er contre v', room: 'tournament'} +game.js:842 Message displayed in chat log for room: tournament +game.js:817 Message received from server in room tournament: {type: 'chat_message', username: 'Server', message: 'Prochain match: er contre v', room: 'tournament'} +game.js:842 Message displayed in chat log for room: tournament +game.js:539 Prochain match du tournoi: Prochain match: v contre hhh +game.js:506 Game started: 3 ( v vs hhh ) +game.js:589 Rendering game state... +game.js:817 Message received from server in room tournament: {type: 'chat_message', username: 'Server', message: 'Prochain match: v contre hhh', room: 'tournament'} +game.js:842 Message displayed in chat log for room: tournament +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +172.31.141.12/:1 Uncaught (in promise) Error: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:589 Rendering game state... +game.js:514 Game ended: 3 +game.js:536 Tournament ended, the winner is: hhh +game.js:817 Message received from server in room tournament: {type: 'chat_message', username: 'v', message: 'fefe', room: 'tournament'} +game.js:842 Message displayed in chat log for room: tournament +game.js:566 Key pressed: Shift +game.js:566 Key pressed: / +game.js:566 Key pressed: s +game.js:573 Sending key press: s +game.js:566 Key pressed: +game.js:566 Key pressed: h +game.js:566 Key pressed: h +game.js:566 Key pressed: h +game.js:566 Key pressed: Enter +game.js:1077 Enter key pressed, attempting to send message... +game.js:1090 Attempting to send message: /s hhh +game.js:1103 Detected stats command for user: hhh +game.js:660 Detected stats command for user: hhh +burger.js:79 Fetching players... +game.js:1115 Message input cleared. +burger.js:149 Displaying players: +game.js:669 Players received in sendStatsCommand: (4) [{…}, {…}, {…}, {…}] +game.js:716 Displaying player stats: {username: 'hhh', total_matches: '2', total_wins: '2', win_percentage: '100.00', best_score: '3.00'} +game.js:722 Creating stats popup element diff --git a/logs/django.log b/logs/django.log new file mode 100644 index 0000000..b92ebca --- /dev/null +++ b/logs/django.log @@ -0,0 +1,1826 @@ +{"asctime": "2024-09-16 23:57:14,639", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140470074116992, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-16 23:57:14,643", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140470074116992, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-16 23:57:14,643", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140470074116992, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-16 23:57:14,643", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140470074116992, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-16 23:57:14,644", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140470074116992, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-16 23:57:55,073", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:57:55,075", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'f', 'token': 'f07626a9-d73e-4dcc-b593-93210b8488c1', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:57:55,075", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Authentification demand\u00e9e pour f", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:57:55,076", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Tentative d'authentification avec le token: f07626a9-d73e-4dcc-b593-93210b8488c1 pour l'utilisateur: f", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:57:55,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Utilisateur f authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:57:55,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Envoi d'un message de type authenticated de f dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:57:55,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Connexion de l'utilisateur \u00e0 son groupe personnel", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:57:55,083", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Diffusion d'un message de f \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:58:02,314", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:02,315", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'r', 'token': '6afe3461-2876-4e6c-a3b8-95ad640922f3', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:02,315", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Authentification demand\u00e9e pour r", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:02,315", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Tentative d'authentification avec le token: 6afe3461-2876-4e6c-a3b8-95ad640922f3 pour l'utilisateur: r", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:02,321", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Utilisateur r authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:02,321", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Envoi d'un message de type authenticated de r dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:02,321", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Connexion de l'utilisateur \u00e0 son groupe personnel", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:02,321", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Diffusion d'un message de r \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:58:02,321", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Diffusion d'un message de r \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:04,857", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'r', 'message': 'ggrg', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:04,857", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Message de chat envoy\u00e9 par r: ggrg", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:04,857", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Envoi d'un message de type chat_message de r dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:04,857", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Diffusion d'un message de r \u00e0 la room main_room: ggrg", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:58:04,857", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Diffusion d'un message de r \u00e0 la room main_room: ggrg", "taskName": "Task-111"} +{"asctime": "2024-09-16 23:58:15,112", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Message re\u00e7u: {'type': 'get_player_stats', 'username': 'f', 'target_user': 'f', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:58:15,112", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "receive server get_player_stats{'type': 'get_player_stats', 'username': 'f', 'target_user': 'f', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-16 23:58:15,112", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140470074116992, "message": "Demande de statistiques pour f", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:01:59,877", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140101090810752, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 00:01:59,879", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140101090810752, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 00:01:59,879", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140101090810752, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 00:01:59,880", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140101090810752, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 00:01:59,880", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140101090810752, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 00:09:20,424", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:20,425", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:20,425", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:20,425", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:20,432", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:20,432", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:20,433", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Connexion de l'utilisateur \u00e0 son groupe personnel", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:20,433", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:27,387", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:27,389", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 't', 'token': 'bc21e611-b859-46dd-b45f-f181913a7689', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:27,389", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Authentification demand\u00e9e pour t", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:27,389", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Tentative d'authentification avec le token: bc21e611-b859-46dd-b45f-f181913a7689 pour l'utilisateur: t", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:27,395", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Utilisateur t authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:27,395", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type authenticated de t dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:27,395", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Connexion de l'utilisateur \u00e0 son groupe personnel", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:27,395", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:27,395", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:30,135", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 't', 'message': 'gtg', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:30,135", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message de chat envoy\u00e9 par t: gtg", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:30,135", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type chat_message de t dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:30,135", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room main_room: gtg", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:30,135", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room main_room: gtg", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:34,093", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'g', 'message': 'gtgtg', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:34,093", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message de chat envoy\u00e9 par g: gtgtg", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:34,093", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type chat_message de g dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:34,093", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de g \u00e0 la room main_room: gtgtg", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:34,093", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de g \u00e0 la room main_room: gtgtg", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:09:41,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'get_player_stats', 'username': 'g', 'target_user': 't', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:41,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "receive server get_player_stats{'type': 'get_player_stats', 'username': 'g', 'target_user': 't', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:09:41,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Demande de statistiques pour t", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:13:51,021", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'g', 'target_user': 't', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:13:51,021", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Invitation envoy\u00e9e de g \u00e0 t dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:13:51,021", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:13:51,022", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de server \u00e0 la room main_room: g a invit\u00e9 t \u00e0 rejoindre une partie main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:13:51,022", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de server \u00e0 la room main_room: g a invit\u00e9 t \u00e0 rejoindre une partie main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:13:51,022", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=g, Room=main_room, Message=g vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:13:51,022", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=g, Room=main_room, Message=g vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:13:56,691", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 't', 'response': 'yes', 'inviter': 'g', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:13:56,691", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "t a r\u00e9pondu 'yes' \u00e0 l'invitation de g", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:13:56,691", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:13:56,692", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de server \u00e0 la room main_room: t a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:13:56,692", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de server \u00e0 la room main_room: t a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:13:56,692", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=t a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=g", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:13:56,692", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=t a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=g", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:13:56,738", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:13:56,739", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'quick_match'}", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:13:56,740", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:13:56,740", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:13:56,746", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:13:56,746", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type authenticated de g dans la room quick_match", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:13:56,746", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Connexion de l'utilisateur \u00e0 son groupe personnel", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:13:56,746", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de g \u00e0 la room quick_match: Authentication successful", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:13:58,707", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:13:58,708", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 't', 'token': 'bc21e611-b859-46dd-b45f-f181913a7689', 'room': 'quick_match'}", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:13:58,708", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Authentification demand\u00e9e pour t", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:13:58,709", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Tentative d'authentification avec le token: bc21e611-b859-46dd-b45f-f181913a7689 pour l'utilisateur: t", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:13:58,715", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Utilisateur t authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:13:58,715", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type authenticated de t dans la room quick_match", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:13:58,715", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Connexion de l'utilisateur \u00e0 son groupe personnel", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:13:58,715", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room quick_match: Authentication successful", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:13:58,715", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room quick_match: Authentication successful", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:14:57,965", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 't', 'message': 'y(y(', 'room': 'quick_match'}", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:14:57,965", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message de chat envoy\u00e9 par t: y(y(", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:14:57,965", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type chat_message de t dans la room quick_match", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:14:57,965", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room quick_match: y(y(", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:14:57,965", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room quick_match: y(y(", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:17:10,433", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 't', 'message': 'rgrgrg', 'room': 'quick_match'}", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:17:10,433", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message de chat envoy\u00e9 par t: rgrgrg", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:17:10,433", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type chat_message de t dans la room quick_match", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:17:10,433", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room quick_match: rgrgrg", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:17:10,433", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room quick_match: rgrgrg", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:17:12,702", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 't', 'message': 'grgrg', 'room': 'quick_match'}", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:17:12,702", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message de chat envoy\u00e9 par t: grgrg", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:17:12,702", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type chat_message de t dans la room quick_match", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:17:12,702", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room quick_match: grgrg", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:17:12,702", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de t \u00e0 la room quick_match: grgrg", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:17:16,524", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'g', 'message': 'grgrgr', 'room': 'quick_match'}", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:17:16,524", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message de chat envoy\u00e9 par g: grgrgr", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:17:16,524", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Envoi d'un message de type chat_message de g dans la room quick_match", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:17:16,524", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de g \u00e0 la room quick_match: grgrgr", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:17:16,524", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Diffusion d'un message de g \u00e0 la room quick_match: grgrgr", "taskName": "Task-147"} +{"asctime": "2024-09-17 00:17:23,133", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Message re\u00e7u: {'type': 'get_player_stats', 'username': 'g', 'target_user': 't', 'room': 'quick_match'}", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:17:23,133", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "receive server get_player_stats{'type': 'get_player_stats', 'username': 'g', 'target_user': 't', 'room': 'quick_match'}", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:17:23,133", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140101090810752, "message": "Demande de statistiques pour t", "taskName": "Task-135"} +{"asctime": "2024-09-17 00:20:32,895", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139898143828864, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 00:20:32,898", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139898143828864, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 00:20:32,898", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139898143828864, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 00:20:32,898", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139898143828864, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 00:20:32,899", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139898143828864, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 00:24:25,510", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:24:25,511", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:24:25,512", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:24:25,512", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:24:25,518", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:24:25,518", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:24:25,518", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:24:32,367", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-107"} +{"asctime": "2024-09-17 00:24:32,370", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-107"} +{"asctime": "2024-09-17 00:24:32,370", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-107"} +{"asctime": "2024-09-17 00:24:32,370", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-107"} +{"asctime": "2024-09-17 00:24:32,376", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-107"} +{"asctime": "2024-09-17 00:24:32,376", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-107"} +{"asctime": "2024-09-17 00:24:32,376", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:24:32,376", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-107"} +{"asctime": "2024-09-17 00:24:53,844", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type chat_message de g dans la room main_room", "taskName": "Task-107"} +{"asctime": "2024-09-17 00:24:53,844", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "g d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-107"} +{"asctime": "2024-09-17 00:24:53,844", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de g \u00e0 la room main_room: g a quitt\u00e9 le chat", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:24:58,514", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:24:58,516", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'gh', 'token': 'fee1a4d7-fd93-42c7-bc6a-f04eb732c959', 'room': 'main_room'}", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:24:58,516", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Authentification demand\u00e9e pour gh", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:24:58,516", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Tentative d'authentification avec le token: fee1a4d7-fd93-42c7-bc6a-f04eb732c959 pour l'utilisateur: gh", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:24:58,523", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Utilisateur gh authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:24:58,523", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type authenticated de gh dans la room main_room", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:24:58,523", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de gh \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:24:58,523", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de gh \u00e0 la room main_room: Authentication successful", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:25:05,099", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'gh', 'message': 'g', 'room': 'main_room'}", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:25:05,099", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Message de chat envoy\u00e9 par gh: g", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:25:05,099", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type chat_message de gh dans la room main_room", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:25:05,100", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de gh \u00e0 la room main_room: g", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:25:05,100", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de gh \u00e0 la room main_room: g", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:25:14,013", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'g', 'target_user': 'gh', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:25:14,013", "levelname": "ERROR", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Erreur lors de la r\u00e9ception du message: 'ChatConsumer' object has no attribute 'handle_invite_user'", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:25:14,013", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type error de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:25:14,013", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:25:14,013", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:28:39,186", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type chat_message de g dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:28:39,186", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "g d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:28:39,187", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de g \u00e0 la room main_room: g a quitt\u00e9 le chat", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:28:42,216", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:28:42,218", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:28:42,218", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:28:42,218", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:28:42,224", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:28:42,224", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:28:42,224", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:28:42,224", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:28:45,683", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type chat_message de gh dans la room main_room", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:28:45,683", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "gh d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-167"} +{"asctime": "2024-09-17 00:28:45,683", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de gh \u00e0 la room main_room: gh a quitt\u00e9 le chat", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:28:47,993", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-293"} +{"asctime": "2024-09-17 00:28:47,996", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-293"} +{"asctime": "2024-09-17 00:28:47,996", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-293"} +{"asctime": "2024-09-17 00:28:47,996", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-293"} +{"asctime": "2024-09-17 00:28:48,002", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-293"} +{"asctime": "2024-09-17 00:28:48,002", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-293"} +{"asctime": "2024-09-17 00:28:48,002", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:28:48,002", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-293"} +{"asctime": "2024-09-17 00:28:59,474", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type chat_message de g dans la room main_room", "taskName": "Task-293"} +{"asctime": "2024-09-17 00:28:59,474", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "g d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-293"} +{"asctime": "2024-09-17 00:28:59,474", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de g \u00e0 la room main_room: g a quitt\u00e9 le chat", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:29:03,010", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-313"} +{"asctime": "2024-09-17 00:29:03,011", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'rr', 'token': '10d0e58a-fb1c-4e35-9b9f-a7c607389978', 'room': 'main_room'}", "taskName": "Task-313"} +{"asctime": "2024-09-17 00:29:03,012", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Authentification demand\u00e9e pour rr", "taskName": "Task-313"} +{"asctime": "2024-09-17 00:29:03,012", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Tentative d'authentification avec le token: 10d0e58a-fb1c-4e35-9b9f-a7c607389978 pour l'utilisateur: rr", "taskName": "Task-313"} +{"asctime": "2024-09-17 00:29:03,018", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Utilisateur rr authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-313"} +{"asctime": "2024-09-17 00:29:03,018", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type authenticated de rr dans la room main_room", "taskName": "Task-313"} +{"asctime": "2024-09-17 00:29:03,018", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de rr \u00e0 la room main_room: Authentication successful", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:29:03,018", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de rr \u00e0 la room main_room: Authentication successful", "taskName": "Task-313"} +{"asctime": "2024-09-17 00:29:19,530", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'g', 'target_user': 'g', 'room': 'main_room'}", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:29:19,530", "levelname": "ERROR", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Erreur lors de la r\u00e9ception du message: 'ChatConsumer' object has no attribute 'handle_invite_user'", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:29:19,530", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Envoi d'un message de type error de server dans la room main_room", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:29:19,530", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-233"} +{"asctime": "2024-09-17 00:29:19,530", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139898143828864, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-313"} +{"asctime": "2024-09-17 00:29:56,594", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140543003798400, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 00:29:56,597", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140543003798400, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 00:29:56,598", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140543003798400, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 00:29:56,598", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140543003798400, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 00:29:56,598", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140543003798400, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 00:51:22,030", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140414039497600, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 00:51:22,034", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140414039497600, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 00:51:22,034", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140414039497600, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 00:51:22,034", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140414039497600, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 00:51:22,035", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140414039497600, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 00:52:02,455", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:52:02,457", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'v', 'token': '7ab181bc-7bf7-4ac0-a562-23e1c455ca23', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:52:02,457", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Authentification demand\u00e9e pour v", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:52:02,457", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Tentative d'authentification avec le token: 7ab181bc-7bf7-4ac0-a562-23e1c455ca23 pour l'utilisateur: v", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:52:02,466", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Utilisateur v authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:52:02,466", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Envoi d'un message de type authenticated de v dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:52:02,466", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Diffusion d'un message de v \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:52:10,311", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:52:10,313", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'f', 'token': 'f07626a9-d73e-4dcc-b593-93210b8488c1', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:52:10,313", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Authentification demand\u00e9e pour f", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:52:10,313", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Tentative d'authentification avec le token: f07626a9-d73e-4dcc-b593-93210b8488c1 pour l'utilisateur: f", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:52:10,319", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Utilisateur f authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:52:10,319", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Envoi d'un message de type authenticated de f dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:52:10,319", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Diffusion d'un message de f \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:52:10,319", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140414039497600, "message": "Diffusion d'un message de f \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:56:23,667", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139958940711808, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 00:56:23,670", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139958940711808, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 00:56:23,670", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139958940711808, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 00:56:23,670", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139958940711808, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 00:56:23,670", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139958940711808, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 00:56:55,420", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:56:55,422", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:56:55,423", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:56:55,423", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:56:55,429", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:56:55,429", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:56:55,429", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:57:02,080", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:57:02,081", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'h', 'token': '27cda257-bf3c-4523-82e3-28bafd5a6ad2', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:57:02,081", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Authentification demand\u00e9e pour h", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:57:02,081", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Tentative d'authentification avec le token: 27cda257-bf3c-4523-82e3-28bafd5a6ad2 pour l'utilisateur: h", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:57:02,087", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Utilisateur h authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:57:02,087", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Envoi d'un message de type authenticated de h dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 00:57:02,087", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 00:57:02,088", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139958940711808, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:04:25,642", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140497234361216, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 01:04:25,645", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140497234361216, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:04:25,646", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140497234361216, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 01:04:25,646", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140497234361216, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:04:25,647", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140497234361216, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 01:05:02,446", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:05:02,448", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'f', 'token': 'f07626a9-d73e-4dcc-b593-93210b8488c1', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:05:02,449", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Authentification demand\u00e9e pour f", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:05:02,449", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Tentative d'authentification avec le token: f07626a9-d73e-4dcc-b593-93210b8488c1 pour l'utilisateur: f", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:05:02,455", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Utilisateur f authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:05:02,455", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Envoi d'un message de type authenticated de f dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:05:02,455", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Diffusion d'un message de f \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:05:09,434", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:05:09,435", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:05:09,436", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:05:09,436", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:05:09,441", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:05:09,441", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:05:09,442", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:05:09,442", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:10:44,678", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Envoi d'un message de type chat_message de f dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:10:44,678", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "f d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:10:44,679", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140497234361216, "message": "Diffusion d'un message de f \u00e0 la room main_room: f a quitt\u00e9 le chat", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:14:12,351", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 19, "thread": 140501172603776, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 01:14:12,354", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 19, "thread": 140501172603776, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:14:12,355", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 19, "thread": 140501172603776, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 01:14:12,355", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 19, "thread": 140501172603776, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:14:12,355", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 19, "thread": 140501172603776, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 01:14:50,503", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-57"} +{"asctime": "2024-09-17 01:14:50,504", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 's', 'token': '5d799c48-7d21-45de-ba12-688121a2f460', 'room': 'main_room'}", "taskName": "Task-57"} +{"asctime": "2024-09-17 01:14:50,504", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Authentification demand\u00e9e pour s", "taskName": "Task-57"} +{"asctime": "2024-09-17 01:14:50,505", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Tentative d'authentification avec le token: 5d799c48-7d21-45de-ba12-688121a2f460 pour l'utilisateur: s", "taskName": "Task-57"} +{"asctime": "2024-09-17 01:14:50,512", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Utilisateur s authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-57"} +{"asctime": "2024-09-17 01:14:50,512", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Envoi d'un message de type authenticated de s dans la room main_room", "taskName": "Task-57"} +{"asctime": "2024-09-17 01:14:50,512", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Diffusion d'un message de s \u00e0 la room main_room: Authentication successful", "taskName": "Task-57"} +{"asctime": "2024-09-17 01:15:04,583", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-123"} +{"asctime": "2024-09-17 01:15:04,585", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'd', 'token': 'aac3ea82-e3cb-42fd-9747-5bfd776682f6', 'room': 'main_room'}", "taskName": "Task-123"} +{"asctime": "2024-09-17 01:15:04,585", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Authentification demand\u00e9e pour d", "taskName": "Task-123"} +{"asctime": "2024-09-17 01:15:04,585", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Tentative d'authentification avec le token: aac3ea82-e3cb-42fd-9747-5bfd776682f6 pour l'utilisateur: d", "taskName": "Task-123"} +{"asctime": "2024-09-17 01:15:04,591", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Utilisateur d authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-123"} +{"asctime": "2024-09-17 01:15:04,591", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Envoi d'un message de type authenticated de d dans la room main_room", "taskName": "Task-123"} +{"asctime": "2024-09-17 01:15:04,591", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Diffusion d'un message de d \u00e0 la room main_room: Authentication successful", "taskName": "Task-57"} +{"asctime": "2024-09-17 01:15:04,591", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140501172603776, "message": "Diffusion d'un message de d \u00e0 la room main_room: Authentication successful", "taskName": "Task-123"} +{"asctime": "2024-09-17 01:19:34,985", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140644560055168, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 01:19:34,988", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140644560055168, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:19:34,988", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140644560055168, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 01:19:34,988", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140644560055168, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:19:34,988", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140644560055168, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 01:21:08,795", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:08,797", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:08,797", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:08,797", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:08,803", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:08,803", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:08,804", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:11,104", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'g', 'message': 'grgrg', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:11,104", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Message de chat envoy\u00e9 par g: grgrg", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:11,104", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Envoi d'un message de type chat_message de g dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:11,105", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Diffusion d'un message de g \u00e0 la room main_room: grgrg", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:16,823", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-113"} +{"asctime": "2024-09-17 01:21:16,825", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'h', 'token': '27cda257-bf3c-4523-82e3-28bafd5a6ad2', 'room': 'main_room'}", "taskName": "Task-113"} +{"asctime": "2024-09-17 01:21:16,825", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Authentification demand\u00e9e pour h", "taskName": "Task-113"} +{"asctime": "2024-09-17 01:21:16,825", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Tentative d'authentification avec le token: 27cda257-bf3c-4523-82e3-28bafd5a6ad2 pour l'utilisateur: h", "taskName": "Task-113"} +{"asctime": "2024-09-17 01:21:16,831", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Utilisateur h authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-113"} +{"asctime": "2024-09-17 01:21:16,831", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Envoi d'un message de type authenticated de h dans la room main_room", "taskName": "Task-113"} +{"asctime": "2024-09-17 01:21:16,831", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:16,831", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-113"} +{"asctime": "2024-09-17 01:21:19,437", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'h', 'message': 'grg', 'room': 'main_room'}", "taskName": "Task-113"} +{"asctime": "2024-09-17 01:21:19,437", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Message de chat envoy\u00e9 par h: grg", "taskName": "Task-113"} +{"asctime": "2024-09-17 01:21:19,437", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Envoi d'un message de type chat_message de h dans la room main_room", "taskName": "Task-113"} +{"asctime": "2024-09-17 01:21:19,437", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Diffusion d'un message de h \u00e0 la room main_room: grg", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:21:19,437", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140644560055168, "message": "Diffusion d'un message de h \u00e0 la room main_room: grg", "taskName": "Task-113"} +{"asctime": "2024-09-17 01:28:23,566", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139815095253888, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 01:28:23,568", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139815095253888, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:28:23,569", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139815095253888, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 01:28:23,569", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139815095253888, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:28:23,569", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139815095253888, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 01:28:54,351", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:28:54,354", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:28:54,355", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:28:54,355", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:28:54,368", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:28:54,368", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:28:54,369", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:29:00,173", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:29:00,176", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:29:00,176", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:29:00,176", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:29:00,182", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:29:00,182", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:29:00,182", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:29:00,182", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:29:06,439", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Envoi d'un message de type chat_message de g dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:29:06,439", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "g d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 01:29:06,439", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Diffusion d'un message de g \u00e0 la room main_room: g a quitt\u00e9 le chat", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:29:09,697", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-171"} +{"asctime": "2024-09-17 01:29:09,699", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'h', 'token': '27cda257-bf3c-4523-82e3-28bafd5a6ad2', 'room': 'main_room'}", "taskName": "Task-171"} +{"asctime": "2024-09-17 01:29:09,699", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Authentification demand\u00e9e pour h", "taskName": "Task-171"} +{"asctime": "2024-09-17 01:29:09,699", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Tentative d'authentification avec le token: 27cda257-bf3c-4523-82e3-28bafd5a6ad2 pour l'utilisateur: h", "taskName": "Task-171"} +{"asctime": "2024-09-17 01:29:09,704", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Utilisateur h authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-171"} +{"asctime": "2024-09-17 01:29:09,704", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Envoi d'un message de type authenticated de h dans la room main_room", "taskName": "Task-171"} +{"asctime": "2024-09-17 01:29:09,704", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:29:09,705", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-171"} +{"asctime": "2024-09-17 01:30:05,257", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Envoi d'un message de type chat_message de g dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:30:05,257", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "g d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 01:30:05,257", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139815095253888, "message": "Diffusion d'un message de g \u00e0 la room main_room: g a quitt\u00e9 le chat", "taskName": "Task-171"} +{"asctime": "2024-09-17 01:34:39,878", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140138464705408, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 01:34:39,880", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140138464705408, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:34:39,880", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140138464705408, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 01:34:39,881", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140138464705408, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:34:39,881", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140138464705408, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 01:54:47,762", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139966639004544, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 01:54:47,765", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139966639004544, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:54:47,765", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139966639004544, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 01:54:47,765", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139966639004544, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 01:54:47,766", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139966639004544, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 01:55:05,629", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:05,632", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'f', 'token': 'f07626a9-d73e-4dcc-b593-93210b8488c1', 'room': 'main_room'}", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:05,632", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Authentification demand\u00e9e pour f", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:05,632", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Tentative d'authentification avec le token: f07626a9-d73e-4dcc-b593-93210b8488c1 pour l'utilisateur: f", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:05,638", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Utilisateur f authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:05,638", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Envoi d'un message de type authenticated de f dans la room main_room", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:05,638", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Diffusion d'un message de f \u00e0 la room main_room: Authentication successful", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:16,837", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'f', 'message': 'vfvfvf', 'room': 'main_room'}", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:16,837", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Message de chat envoy\u00e9 par f: vfvfvf", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:16,837", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Envoi d'un message de type chat_message de f dans la room main_room", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:16,838", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Diffusion d'un message de f \u00e0 la room main_room: vfvfvf", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:30,687", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-161"} +{"asctime": "2024-09-17 01:55:30,689", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'v', 'token': '7ab181bc-7bf7-4ac0-a562-23e1c455ca23', 'room': 'main_room'}", "taskName": "Task-161"} +{"asctime": "2024-09-17 01:55:30,690", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Authentification demand\u00e9e pour v", "taskName": "Task-161"} +{"asctime": "2024-09-17 01:55:30,690", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Tentative d'authentification avec le token: 7ab181bc-7bf7-4ac0-a562-23e1c455ca23 pour l'utilisateur: v", "taskName": "Task-161"} +{"asctime": "2024-09-17 01:55:30,697", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Utilisateur v authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-161"} +{"asctime": "2024-09-17 01:55:30,697", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Envoi d'un message de type authenticated de v dans la room main_room", "taskName": "Task-161"} +{"asctime": "2024-09-17 01:55:30,697", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Diffusion d'un message de v \u00e0 la room main_room: Authentication successful", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:30,697", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Diffusion d'un message de v \u00e0 la room main_room: Authentication successful", "taskName": "Task-161"} +{"asctime": "2024-09-17 01:55:40,773", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-176"} +{"asctime": "2024-09-17 01:55:40,775", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'vv', 'token': '51edbeca-570d-4536-b81d-4eaa64051300', 'room': 'main_room'}", "taskName": "Task-176"} +{"asctime": "2024-09-17 01:55:40,775", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Authentification demand\u00e9e pour vv", "taskName": "Task-176"} +{"asctime": "2024-09-17 01:55:40,775", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Tentative d'authentification avec le token: 51edbeca-570d-4536-b81d-4eaa64051300 pour l'utilisateur: vv", "taskName": "Task-176"} +{"asctime": "2024-09-17 01:55:40,781", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Utilisateur vv authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-176"} +{"asctime": "2024-09-17 01:55:40,781", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Envoi d'un message de type authenticated de vv dans la room main_room", "taskName": "Task-176"} +{"asctime": "2024-09-17 01:55:40,782", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Diffusion d'un message de vv \u00e0 la room main_room: Authentication successful", "taskName": "Task-101"} +{"asctime": "2024-09-17 01:55:40,782", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Diffusion d'un message de vv \u00e0 la room main_room: Authentication successful", "taskName": "Task-161"} +{"asctime": "2024-09-17 01:55:40,782", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139966639004544, "message": "Diffusion d'un message de vv \u00e0 la room main_room: Authentication successful", "taskName": "Task-176"} +{"asctime": "2024-09-17 02:01:55,562", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140042042313600, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 02:01:55,565", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140042042313600, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 02:01:55,565", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140042042313600, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 02:01:55,566", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140042042313600, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 02:01:55,566", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140042042313600, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 02:04:20,296", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:04:20,298", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'v', 'token': '7ab181bc-7bf7-4ac0-a562-23e1c455ca23', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:04:20,298", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Authentification demand\u00e9e pour v", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:04:20,298", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Tentative d'authentification avec le token: 7ab181bc-7bf7-4ac0-a562-23e1c455ca23 pour l'utilisateur: v", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:04:20,306", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Utilisateur v authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:04:20,306", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Envoi d'un message de type authenticated de v dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:04:20,306", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Diffusion d'un message de v \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:04:29,752", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:04:29,754", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'vv', 'token': '51edbeca-570d-4536-b81d-4eaa64051300', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:04:29,754", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Authentification demand\u00e9e pour vv", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:04:29,754", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Tentative d'authentification avec le token: 51edbeca-570d-4536-b81d-4eaa64051300 pour l'utilisateur: vv", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:04:29,760", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Utilisateur vv authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:04:29,760", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Envoi d'un message de type authenticated de vv dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:04:29,761", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Diffusion d'un message de vv \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:04:29,761", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140042042313600, "message": "Diffusion d'un message de vv \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:44:18,273", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139976896232320, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 02:44:18,276", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139976896232320, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 02:44:18,277", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139976896232320, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 02:44:18,277", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139976896232320, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 02:44:18,277", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139976896232320, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 02:44:59,147", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:44:59,155", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:44:59,155", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:44:59,155", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:44:59,169", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:44:59,170", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:44:59,170", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:45:08,888", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:45:08,889", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'gg', 'token': 'fd1f37e4-8cd2-4299-b940-4ffb3fc600be', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:45:08,889", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Authentification demand\u00e9e pour gg", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:45:08,889", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Tentative d'authentification avec le token: fd1f37e4-8cd2-4299-b940-4ffb3fc600be pour l'utilisateur: gg", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:45:08,895", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Utilisateur gg authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:45:08,895", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Envoi d'un message de type authenticated de gg dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:45:08,895", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Diffusion d'un message de gg \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:45:08,895", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139976896232320, "message": "Diffusion d'un message de gg \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:46:28,760", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140532491451264, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 02:46:28,763", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140532491451264, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 02:46:28,763", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140532491451264, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 02:46:28,763", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140532491451264, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 02:46:28,764", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140532491451264, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 02:48:11,381", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:48:11,384", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'b', 'token': '4771fa2b-e6e6-479d-91f0-e32b734e2772', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:48:11,384", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Authentification demand\u00e9e pour b", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:48:11,384", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Tentative d'authentification avec le token: 4771fa2b-e6e6-479d-91f0-e32b734e2772 pour l'utilisateur: b", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:48:11,390", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Utilisateur b authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:48:11,390", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Envoi d'un message de type authenticated de b dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:48:11,391", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Diffusion d'un message de b \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:48:18,058", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-107"} +{"asctime": "2024-09-17 02:48:18,059", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'bbb', 'token': '6c177713-0710-44fe-a9a0-a47a0fe2c05d', 'room': 'main_room'}", "taskName": "Task-107"} +{"asctime": "2024-09-17 02:48:18,059", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Authentification demand\u00e9e pour bbb", "taskName": "Task-107"} +{"asctime": "2024-09-17 02:48:18,059", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Tentative d'authentification avec le token: 6c177713-0710-44fe-a9a0-a47a0fe2c05d pour l'utilisateur: bbb", "taskName": "Task-107"} +{"asctime": "2024-09-17 02:48:18,065", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Utilisateur bbb authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-107"} +{"asctime": "2024-09-17 02:48:18,065", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Envoi d'un message de type authenticated de bbb dans la room main_room", "taskName": "Task-107"} +{"asctime": "2024-09-17 02:48:18,065", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Diffusion d'un message de bbb \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:48:18,065", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140532491451264, "message": "Diffusion d'un message de bbb \u00e0 la room main_room: Authentication successful", "taskName": "Task-107"} +{"asctime": "2024-09-17 02:54:20,920", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140430277794688, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 02:54:20,922", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140430277794688, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 02:54:20,922", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140430277794688, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 02:54:20,922", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140430277794688, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 02:54:20,923", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140430277794688, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 02:55:09,571", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:55:09,572", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'x', 'token': '7dfe4c69-eaf0-49ca-b914-3f69bc9dda57', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:55:09,573", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Authentification demand\u00e9e pour x", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:55:09,573", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Tentative d'authentification avec le token: 7dfe4c69-eaf0-49ca-b914-3f69bc9dda57 pour l'utilisateur: x", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:55:09,579", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Utilisateur x authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:55:09,579", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Envoi d'un message de type authenticated de x dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:55:09,579", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Diffusion d'un message de x \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:55:28,278", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:55:28,280", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'w', 'token': 'b8c3c3b3-cb7b-47a1-96ea-b711f3261b8f', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:55:28,280", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Authentification demand\u00e9e pour w", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:55:28,280", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Tentative d'authentification avec le token: b8c3c3b3-cb7b-47a1-96ea-b711f3261b8f pour l'utilisateur: w", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:55:28,285", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Utilisateur w authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:55:28,286", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Envoi d'un message de type authenticated de w dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 02:55:28,286", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Diffusion d'un message de w \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 02:55:28,286", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140430277794688, "message": "Diffusion d'un message de w \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:06:04,525", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140078757194624, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 03:06:04,528", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140078757194624, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 03:06:04,528", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140078757194624, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 03:06:04,528", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140078757194624, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 03:06:04,529", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140078757194624, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 03:06:43,073", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:06:43,075", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '458f5428-2c48-4dbe-b126-815da541e7fb', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:06:43,075", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:06:43,075", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Tentative d'authentification avec le token: 458f5428-2c48-4dbe-b126-815da541e7fb pour l'utilisateur: g", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:06:43,081", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:06:43,081", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:06:43,081", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:06:55,177", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:06:55,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'h', 'token': '27cda257-bf3c-4523-82e3-28bafd5a6ad2', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:06:55,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Authentification demand\u00e9e pour h", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:06:55,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Tentative d'authentification avec le token: 27cda257-bf3c-4523-82e3-28bafd5a6ad2 pour l'utilisateur: h", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:06:55,185", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Utilisateur h authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:06:55,185", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Envoi d'un message de type authenticated de h dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:06:55,185", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:06:55,185", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:07:04,854", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'h', 'message': 'ggg', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:07:04,855", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Message de chat envoy\u00e9 par h: ggg", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:07:04,855", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Envoi d'un message de type chat_message de h dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:07:04,855", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Diffusion d'un message de h \u00e0 la room main_room: ggg", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:07:04,855", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140078757194624, "message": "Diffusion d'un message de h \u00e0 la room main_room: ggg", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:16:39,371", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140181339794304, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 03:16:39,373", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140181339794304, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 03:16:39,374", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140181339794304, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 03:16:39,374", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140181339794304, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 03:16:39,374", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140181339794304, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 03:17:11,977", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:17:11,979", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'h', 'token': '27cda257-bf3c-4523-82e3-28bafd5a6ad2', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:17:11,980", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Authentification demand\u00e9e pour h", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:17:11,980", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Tentative d'authentification avec le token: 27cda257-bf3c-4523-82e3-28bafd5a6ad2 pour l'utilisateur: h", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:17:11,985", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Utilisateur h authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:17:11,986", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Envoi d'un message de type authenticated de h dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:17:11,986", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:17:18,652", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:17:18,653", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 't', 'token': 'bc21e611-b859-46dd-b45f-f181913a7689', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:17:18,654", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Authentification demand\u00e9e pour t", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:17:18,654", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Tentative d'authentification avec le token: bc21e611-b859-46dd-b45f-f181913a7689 pour l'utilisateur: t", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:17:18,659", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Utilisateur t authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:17:18,659", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Envoi d'un message de type authenticated de t dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:17:18,659", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Diffusion d'un message de t \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:17:18,659", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140181339794304, "message": "Diffusion d'un message de t \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:20:36,912", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140160577502080, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 03:20:36,914", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140160577502080, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 03:20:36,915", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140160577502080, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 03:20:36,915", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140160577502080, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 03:20:36,915", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140160577502080, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 03:21:19,993", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:21:19,995", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'f', 'token': 'f07626a9-d73e-4dcc-b593-93210b8488c1', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:21:19,995", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Authentification demand\u00e9e pour f", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:21:19,995", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Tentative d'authentification avec le token: f07626a9-d73e-4dcc-b593-93210b8488c1 pour l'utilisateur: f", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:21:20,001", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Utilisateur f authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:21:20,001", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Envoi d'un message de type authenticated de f dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:21:20,001", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Diffusion d'un message de f \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:21:27,698", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:21:27,699", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'bb', 'token': 'a5baf89c-96e2-424a-81d2-6abebcf89894', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:21:27,699", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Authentification demand\u00e9e pour bb", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:21:27,700", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Tentative d'authentification avec le token: a5baf89c-96e2-424a-81d2-6abebcf89894 pour l'utilisateur: bb", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:21:27,705", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Utilisateur bb authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:21:27,705", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Envoi d'un message de type authenticated de bb dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:21:27,706", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Diffusion d'un message de bb \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:21:27,706", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Diffusion d'un message de bb \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:21:31,114", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'bb', 'message': 'vfvf', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:21:31,114", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Message de chat envoy\u00e9 par bb: vfvf", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:21:31,114", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Envoi d'un message de type chat_message de bb dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:21:31,114", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Diffusion d'un message de bb \u00e0 la room main_room: vfvf", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:21:31,115", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140160577502080, "message": "Diffusion d'un message de bb \u00e0 la room main_room: vfvf", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:23:53,623", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 19, "thread": 140242291706752, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 03:23:53,625", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 19, "thread": 140242291706752, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 03:23:53,626", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 19, "thread": 140242291706752, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 03:23:53,626", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 19, "thread": 140242291706752, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 03:23:53,626", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 19, "thread": 140242291706752, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 03:24:28,250", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:24:28,252", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'hh', 'token': '05d20ffe-0893-427b-b1a0-4970cb52a315', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:24:28,252", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Authentification demand\u00e9e pour hh", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:24:28,252", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Tentative d'authentification avec le token: 05d20ffe-0893-427b-b1a0-4970cb52a315 pour l'utilisateur: hh", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:24:28,258", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Utilisateur hh authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:24:28,258", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Envoi d'un message de type authenticated de hh dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:24:28,258", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Diffusion d'un message de hh \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:24:35,958", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:24:35,959", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'hhhh', 'token': '672b6c16-2a2c-4fc3-86c2-48596b860ab0', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:24:35,959", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Authentification demand\u00e9e pour hhhh", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:24:35,959", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Tentative d'authentification avec le token: 672b6c16-2a2c-4fc3-86c2-48596b860ab0 pour l'utilisateur: hhhh", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:24:35,966", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Utilisateur hhhh authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:24:35,966", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Envoi d'un message de type authenticated de hhhh dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:24:35,966", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Diffusion d'un message de hhhh \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:24:35,966", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 19, "thread": 140242291706752, "message": "Diffusion d'un message de hhhh \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:27:47,585", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 17, "thread": 139625619098496, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 03:27:47,588", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 17, "thread": 139625619098496, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 03:27:47,589", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 17, "thread": 139625619098496, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 03:27:47,589", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 17, "thread": 139625619098496, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 03:27:47,590", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 17, "thread": 139625619098496, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 03:28:27,226", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:28:27,230", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'hhh', 'token': '56c05ced-8b37-4179-9c9a-8f44db796351', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:28:27,230", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Authentification demand\u00e9e pour hhh", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:28:27,230", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Tentative d'authentification avec le token: 56c05ced-8b37-4179-9c9a-8f44db796351 pour l'utilisateur: hhh", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:28:27,236", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Utilisateur hhh authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:28:27,236", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type authenticated de hhh dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:28:27,237", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de hhh \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:28:39,043", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:28:39,045", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'v', 'token': '7ab181bc-7bf7-4ac0-a562-23e1c455ca23', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:28:39,045", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Authentification demand\u00e9e pour v", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:28:39,045", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Tentative d'authentification avec le token: 7ab181bc-7bf7-4ac0-a562-23e1c455ca23 pour l'utilisateur: v", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:28:39,051", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Utilisateur v authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:28:39,051", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type authenticated de v dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:28:39,052", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de v \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:28:39,052", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de v \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:29:19,140", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-174"} +{"asctime": "2024-09-17 03:29:19,141", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'er', 'token': '19b3cba8-12e8-40d8-9921-23681df63884', 'room': 'main_room'}", "taskName": "Task-174"} +{"asctime": "2024-09-17 03:29:19,141", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Authentification demand\u00e9e pour er", "taskName": "Task-174"} +{"asctime": "2024-09-17 03:29:19,142", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Tentative d'authentification avec le token: 19b3cba8-12e8-40d8-9921-23681df63884 pour l'utilisateur: er", "taskName": "Task-174"} +{"asctime": "2024-09-17 03:29:19,147", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Utilisateur er authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-174"} +{"asctime": "2024-09-17 03:29:19,147", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type authenticated de er dans la room main_room", "taskName": "Task-174"} +{"asctime": "2024-09-17 03:29:19,147", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de er \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:29:19,147", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de er \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:29:19,148", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de er \u00e0 la room main_room: Authentication successful", "taskName": "Task-174"} +{"asctime": "2024-09-17 03:29:20,030", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Connexion de l'utilisateur \u00e0 la room tournament", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:20,031", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'er', 'token': '19b3cba8-12e8-40d8-9921-23681df63884', 'room': 'tournament'}", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:20,031", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Authentification demand\u00e9e pour er", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:20,032", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Tentative d'authentification avec le token: 19b3cba8-12e8-40d8-9921-23681df63884 pour l'utilisateur: er", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:20,038", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Utilisateur er authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:20,038", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type authenticated de er dans la room tournament", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:20,038", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de er \u00e0 la room tournament: Authentication successful", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:23,489", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Connexion de l'utilisateur \u00e0 la room tournament", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:23,491", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'v', 'token': '7ab181bc-7bf7-4ac0-a562-23e1c455ca23', 'room': 'tournament'}", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:23,491", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Authentification demand\u00e9e pour v", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:23,491", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Tentative d'authentification avec le token: 7ab181bc-7bf7-4ac0-a562-23e1c455ca23 pour l'utilisateur: v", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:23,497", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Utilisateur v authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:23,497", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type authenticated de v dans la room tournament", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:23,497", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de v \u00e0 la room tournament: Authentication successful", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:23,497", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de v \u00e0 la room tournament: Authentication successful", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:26,080", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Connexion de l'utilisateur \u00e0 la room tournament", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:26,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'hhh', 'token': '56c05ced-8b37-4179-9c9a-8f44db796351', 'room': 'tournament'}", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:26,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Authentification demand\u00e9e pour hhh", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:26,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Tentative d'authentification avec le token: 56c05ced-8b37-4179-9c9a-8f44db796351 pour l'utilisateur: hhh", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:26,088", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Utilisateur hhh authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:26,088", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type authenticated de hhh dans la room tournament", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:26,089", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de hhh \u00e0 la room tournament: Authentication successful", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:26,089", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de hhh \u00e0 la room tournament: Authentication successful", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:26,089", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de hhh \u00e0 la room tournament: Authentication successful", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:26,985", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message re\u00e7u: {'type': 'chat_message', 'message': 'Prochain match: er contre v', 'username': 'Server', 'room': 'tournament'}", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:26,985", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message de chat envoy\u00e9 par Server: Prochain match: er contre v", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:26,985", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type chat_message de Server dans la room tournament", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:26,985", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: er contre v", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:26,985", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: er contre v", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:26,985", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: er contre v", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:26,986", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message re\u00e7u: {'type': 'chat_message', 'message': 'Prochain match: er contre v', 'username': 'Server', 'room': 'tournament'}", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:26,987", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message de chat envoy\u00e9 par Server: Prochain match: er contre v", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:26,987", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type chat_message de Server dans la room tournament", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:26,987", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: er contre v", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:26,987", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: er contre v", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:26,987", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: er contre v", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:43,021", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message re\u00e7u: {'type': 'chat_message', 'message': 'Prochain match: v contre hhh', 'username': 'Server', 'room': 'tournament'}", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:43,021", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message de chat envoy\u00e9 par Server: Prochain match: v contre hhh", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:43,021", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type chat_message de Server dans la room tournament", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:29:43,022", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: v contre hhh", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:29:43,022", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: v contre hhh", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:29:43,022", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: v contre hhh", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:30:21,753", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'v', 'message': 'fefe', 'room': 'tournament'}", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:30:21,754", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Message de chat envoy\u00e9 par v: fefe", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:30:21,754", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type chat_message de v dans la room tournament", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:30:21,754", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de v \u00e0 la room tournament: fefe", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:30:21,754", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de v \u00e0 la room tournament: fefe", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:30:21,754", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Diffusion d'un message de v \u00e0 la room tournament: fefe", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:32:58,991", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type chat_message de hhh dans la room tournament", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:32:58,991", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "hhh d\u00e9connect\u00e9 de la room tournament", "taskName": "Task-205"} +{"asctime": "2024-09-17 03:32:58,991", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type chat_message de v dans la room tournament", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:32:58,991", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "v d\u00e9connect\u00e9 de la room tournament", "taskName": "Task-193"} +{"asctime": "2024-09-17 03:32:58,992", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type chat_message de er dans la room main_room", "taskName": "Task-174"} +{"asctime": "2024-09-17 03:32:58,992", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "er d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-174"} +{"asctime": "2024-09-17 03:32:58,992", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type chat_message de v dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:32:58,992", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "v d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 03:32:58,992", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type chat_message de hhh dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:32:58,992", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "hhh d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 03:32:58,992", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "Envoi d'un message de type chat_message de er dans la room tournament", "taskName": "Task-182"} +{"asctime": "2024-09-17 03:32:58,992", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 17, "thread": 139625619098496, "message": "er d\u00e9connect\u00e9 de la room tournament", "taskName": "Task-182"} +{"asctime": "2024-09-17 10:37:26,092", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 27, "thread": 139716377381760, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 10:37:26,097", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 27, "thread": 139716377381760, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 10:37:26,098", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 27, "thread": 139716377381760, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 10:37:26,098", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 27, "thread": 139716377381760, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 10:37:26,098", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 27, "thread": 139716377381760, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 10:39:31,933", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:31,936", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'f', 'token': '78c64ead-8e6d-4442-aa6d-4079443f6042', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:31,936", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Authentification demand\u00e9e pour f", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:31,936", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Tentative d'authentification avec le token: 78c64ead-8e6d-4442-aa6d-4079443f6042 pour l'utilisateur: f", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:31,943", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Utilisateur f authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:31,943", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type authenticated de f dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:31,944", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:35,162", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'f', 'message': 'fedfedfedef', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:35,162", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message de chat envoy\u00e9 par f: fedfedfedef", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:35,162", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type chat_message de f dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:35,162", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: fedfedfedef", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:37,235", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'f', 'message': 'fdfdfdf', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:37,235", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message de chat envoy\u00e9 par f: fdfdfdf", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:37,235", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type chat_message de f dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:39:37,236", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: fdfdfdf", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:40:09,455", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:40:09,458", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'gh', 'token': '620ffae7-a30c-470e-817a-1ef63591694f', 'room': 'main_room'}", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:40:09,459", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Authentification demand\u00e9e pour gh", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:40:09,459", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Tentative d'authentification avec le token: 620ffae7-a30c-470e-817a-1ef63591694f pour l'utilisateur: gh", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:40:09,465", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Utilisateur gh authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:40:09,466", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type authenticated de gh dans la room main_room", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:40:09,466", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de gh \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:40:09,466", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de gh \u00e0 la room main_room: Authentication successful", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:40:22,825", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:40:22,828", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'i', 'token': '264b4648-67e8-4555-a469-501b1bab855e', 'room': 'main_room'}", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:40:22,828", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Authentification demand\u00e9e pour i", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:40:22,828", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Tentative d'authentification avec le token: 264b4648-67e8-4555-a469-501b1bab855e pour l'utilisateur: i", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:40:22,835", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Utilisateur i authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:40:22,835", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type authenticated de i dans la room main_room", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:40:22,835", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de i \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:40:22,836", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de i \u00e0 la room main_room: Authentication successful", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:40:22,836", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de i \u00e0 la room main_room: Authentication successful", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:40:49,726", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'f', 'message': 'salut', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:40:49,726", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message de chat envoy\u00e9 par f: salut", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:40:49,726", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type chat_message de f dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:40:49,727", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: salut", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:40:49,727", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: salut", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:40:49,727", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: salut", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:40:53,669", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'f', 'message': 'hello', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:40:53,669", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message de chat envoy\u00e9 par f: hello", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:40:53,669", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type chat_message de f dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:40:53,670", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: hello", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:40:53,670", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: hello", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:40:53,670", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: hello", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:41:06,506", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'block_user', 'username': 'gh', 'target_user': 'i', 'room': 'main_room'}", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:41:06,506", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "gh tente de bloquer i", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:41:06,507", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "handle_block_user appel\u00e9 avec : {'type': 'block_user', 'username': 'gh', 'target_user': 'i', 'room': 'main_room'}", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:41:06,507", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "gh a bloqu\u00e9 i", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:41:12,783", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'f', 'message': 'feefef', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:12,784", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message de chat envoy\u00e9 par f: feefef", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:12,784", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type chat_message de f dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:12,784", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: feefef", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:12,784", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: feefef", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:41:12,784", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: feefef", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:41:22,532", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'i', 'message': 'salut fer', 'room': 'main_room'}", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:41:22,532", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message de chat envoy\u00e9 par i: salut fer", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:41:22,532", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type chat_message de i dans la room main_room", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:41:22,533", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de i \u00e0 la room main_room: salut fer", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:22,533", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de i \u00e0 la room main_room: salut fer", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:41:22,533", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de i \u00e0 la room main_room: salut fer", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:41:40,183", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'f', 'message': 'youhou', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:40,183", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message de chat envoy\u00e9 par f: youhou", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:40,183", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type chat_message de f dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:40,184", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: youhou", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:40,184", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: youhou", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:41:40,184", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de f \u00e0 la room main_room: youhou", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:41:49,218", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'f', 'target_user': 'i', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:49,218", "levelname": "ERROR", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Erreur lors de la r\u00e9ception du message: 'ChatConsumer' object has no attribute 'handle_invite_user'", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:49,218", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type error de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:49,218", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:41:49,219", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-115"} +{"asctime": "2024-09-17 10:41:49,219", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-174"} +{"asctime": "2024-09-17 10:42:11,402", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'f', 'target_user': 'i', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:42:11,402", "levelname": "ERROR", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Erreur lors de la r\u00e9ception du message: 'ChatConsumer' object has no attribute 'handle_invite_user'", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:42:11,402", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Envoi d'un message de type error de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:42:11,402", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-53"} +{"asctime": "2024-09-17 10:42:11,403", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 27, "thread": 139716377381760, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-115"} +{"asctime": "2024-09-17 11:55:24,682", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 25, "thread": 140398789532544, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 11:55:24,689", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 25, "thread": 140398789532544, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 11:55:24,689", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 140398789532544, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 11:55:24,690", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 140398789532544, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 11:55:24,690", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 140398789532544, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 11:56:41,909", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:41,911", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'k', 'token': '2cd94301-2877-4f0f-91e0-66f2a6b5b49e', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:41,911", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Authentification demand\u00e9e pour k", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:41,911", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Tentative d'authentification avec le token: 2cd94301-2877-4f0f-91e0-66f2a6b5b49e pour l'utilisateur: k", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:41,919", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Utilisateur k authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:41,919", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Envoi d'un message de type authenticated de k dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:41,920", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Diffusion d'un message de k \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:44,660", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'k', 'message': 'jyjyj', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:44,660", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Message de chat envoy\u00e9 par k: jyjyj", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:44,660", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Envoi d'un message de type chat_message de k dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:44,660", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Diffusion d'un message de k \u00e0 la room main_room: jyjyj", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:51,016", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-113"} +{"asctime": "2024-09-17 11:56:51,018", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'j', 'token': 'e1feb4d7-45e5-4c4e-aace-05447b969c37', 'room': 'main_room'}", "taskName": "Task-113"} +{"asctime": "2024-09-17 11:56:51,018", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Authentification demand\u00e9e pour j", "taskName": "Task-113"} +{"asctime": "2024-09-17 11:56:51,018", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Tentative d'authentification avec le token: e1feb4d7-45e5-4c4e-aace-05447b969c37 pour l'utilisateur: j", "taskName": "Task-113"} +{"asctime": "2024-09-17 11:56:51,027", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Utilisateur j authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-113"} +{"asctime": "2024-09-17 11:56:51,027", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Envoi d'un message de type authenticated de j dans la room main_room", "taskName": "Task-113"} +{"asctime": "2024-09-17 11:56:51,027", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Diffusion d'un message de j \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:51,027", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Diffusion d'un message de j \u00e0 la room main_room: Authentication successful", "taskName": "Task-113"} +{"asctime": "2024-09-17 11:56:53,279", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'j', 'message': 'juju', 'room': 'main_room'}", "taskName": "Task-113"} +{"asctime": "2024-09-17 11:56:53,279", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Message de chat envoy\u00e9 par j: juju", "taskName": "Task-113"} +{"asctime": "2024-09-17 11:56:53,280", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Envoi d'un message de type chat_message de j dans la room main_room", "taskName": "Task-113"} +{"asctime": "2024-09-17 11:56:53,280", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Diffusion d'un message de j \u00e0 la room main_room: juju", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:56:53,280", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Diffusion d'un message de j \u00e0 la room main_room: juju", "taskName": "Task-113"} +{"asctime": "2024-09-17 11:57:06,977", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'k', 'target_user': 'j', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:57:06,978", "levelname": "ERROR", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Erreur lors de la r\u00e9ception du message: 'ChatConsumer' object has no attribute 'handle_invite_user'", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:57:06,978", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Envoi d'un message de type error de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:57:06,978", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-53"} +{"asctime": "2024-09-17 11:57:06,978", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140398789532544, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-113"} +{"asctime": "2024-09-17 12:04:06,316", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140138008816512, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 12:04:06,320", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140138008816512, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:04:06,320", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140138008816512, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 12:04:06,321", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140138008816512, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:04:06,321", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140138008816512, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 12:06:02,819", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139709893680000, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 12:06:02,824", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139709893680000, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:06:02,824", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139709893680000, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 12:06:02,824", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139709893680000, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:06:02,825", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139709893680000, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 12:06:44,125", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:06:44,129", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'uuu', 'token': 'd63d0ed2-20d7-4c5f-8793-18a5b38d2503', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:06:44,129", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Authentification demand\u00e9e pour uuu", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:06:44,129", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Tentative d'authentification avec le token: d63d0ed2-20d7-4c5f-8793-18a5b38d2503 pour l'utilisateur: uuu", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:06:44,139", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Utilisateur uuu authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:06:44,139", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Envoi d'un message de type authenticated de uuu dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:06:44,139", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Diffusion d'un message de uuu \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:06:51,567", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:06:51,569", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'iii', 'token': '1bc84fd5-c8fe-4ea7-b0ca-f6c423cf9326', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:06:51,569", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Authentification demand\u00e9e pour iii", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:06:51,569", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Tentative d'authentification avec le token: 1bc84fd5-c8fe-4ea7-b0ca-f6c423cf9326 pour l'utilisateur: iii", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:06:51,576", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Utilisateur iii authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:06:51,577", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Envoi d'un message de type authenticated de iii dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:06:51,577", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Diffusion d'un message de iii \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:06:51,577", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Diffusion d'un message de iii \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:06:53,654", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'iii', 'message': 'ytytyty', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:06:53,654", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Message de chat envoy\u00e9 par iii: ytytyty", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:06:53,655", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Envoi d'un message de type chat_message de iii dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:06:53,655", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Diffusion d'un message de iii \u00e0 la room main_room: ytytyty", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:06:53,655", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Diffusion d'un message de iii \u00e0 la room main_room: ytytyty", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:07:01,268", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'uuu', 'target_user': 'iii', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:07:01,268", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Invitation envoy\u00e9e de uuu \u00e0 iii dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:07:01,269", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:07:01,269", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Diffusion d'un message de server \u00e0 la room main_room: uuu a invit\u00e9 iii \u00e0 rejoindre une partie main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:07:01,269", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139709893680000, "message": "Diffusion d'un message de server \u00e0 la room main_room: uuu a invit\u00e9 iii \u00e0 rejoindre une partie main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:07:01,757", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 18, "thread": 139709893680000, "message": "Exception inside application: No handler for message type invite", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite", "taskName": null} +{"asctime": "2024-09-17 12:07:01,774", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 18, "thread": 139709893680000, "message": "Exception inside application: No handler for message type invite", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite", "taskName": null} +{"asctime": "2024-09-17 12:09:36,822", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139743151291264, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 12:09:36,825", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139743151291264, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:09:36,826", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139743151291264, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 12:09:36,826", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139743151291264, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:09:36,826", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139743151291264, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 12:10:27,333", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:27,336", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'iii', 'token': '1bc84fd5-c8fe-4ea7-b0ca-f6c423cf9326', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:27,336", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Authentification demand\u00e9e pour iii", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:27,336", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Tentative d'authentification avec le token: 1bc84fd5-c8fe-4ea7-b0ca-f6c423cf9326 pour l'utilisateur: iii", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:27,345", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Utilisateur iii authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:27,345", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Envoi d'un message de type authenticated de iii dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:27,345", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Diffusion d'un message de iii \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:34,224", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:10:34,226", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ooo', 'token': 'd1e37420-0d1e-4972-80fd-25dc47616e88', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:10:34,226", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Authentification demand\u00e9e pour ooo", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:10:34,226", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Tentative d'authentification avec le token: d1e37420-0d1e-4972-80fd-25dc47616e88 pour l'utilisateur: ooo", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:10:34,235", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Utilisateur ooo authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:10:34,235", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Envoi d'un message de type authenticated de ooo dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:10:34,236", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Diffusion d'un message de ooo \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:34,236", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Diffusion d'un message de ooo \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:10:39,542", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'iii', 'target_user': 'o', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:39,543", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Invitation envoy\u00e9e de iii \u00e0 o dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:39,543", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:39,543", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Diffusion d'un message de server \u00e0 la room main_room: iii a invit\u00e9 o \u00e0 rejoindre une partie main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:39,543", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "Diffusion d'un message de server \u00e0 la room main_room: iii a invit\u00e9 o \u00e0 rejoindre une partie main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:10:39,543", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=iii, Room=main_room, Message=iii vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:10:39,544", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139743151291264, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=iii, Room=main_room, Message=iii vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:14:14,467", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140328238513024, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 12:14:14,471", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140328238513024, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:14:14,472", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140328238513024, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 12:14:14,472", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140328238513024, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:14:14,472", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140328238513024, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 12:16:13,528", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:13,531", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'hhhh', 'token': 'a537abb7-e08f-450e-9224-96fe3d84a840', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:13,531", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Authentification demand\u00e9e pour hhhh", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:13,532", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Tentative d'authentification avec le token: a537abb7-e08f-450e-9224-96fe3d84a840 pour l'utilisateur: hhhh", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:13,540", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Utilisateur hhhh authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:13,540", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Envoi d'un message de type authenticated de hhhh dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:13,540", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Diffusion d'un message de hhhh \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:19,580", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:16:19,582", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'yyy', 'token': 'b10f48f1-6166-4b33-85eb-9c83667b4c46', 'room': 'main_room'}", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:16:19,582", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Authentification demand\u00e9e pour yyy", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:16:19,582", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Tentative d'authentification avec le token: b10f48f1-6166-4b33-85eb-9c83667b4c46 pour l'utilisateur: yyy", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:16:19,590", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Utilisateur yyy authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:16:19,590", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Envoi d'un message de type authenticated de yyy dans la room main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:16:19,590", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Diffusion d'un message de yyy \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:19,590", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Diffusion d'un message de yyy \u00e0 la room main_room: Authentication successful", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:16:26,140", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'hhhh', 'target_user': 'yyy', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:26,140", "levelname": "ERROR", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Erreur lors de la r\u00e9ception du message: 'inviter'", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:26,140", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Envoi d'un message de type error de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:26,140", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:16:26,140", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140328238513024, "message": "Diffusion d'un message de server \u00e0 la room main_room: Internal server error", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:27:53,285", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 26, "thread": 140129929452416, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 12:27:53,290", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 26, "thread": 140129929452416, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:27:53,290", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 26, "thread": 140129929452416, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 12:27:53,291", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 26, "thread": 140129929452416, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:27:53,291", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 26, "thread": 140129929452416, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 12:29:41,396", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:41,399", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'juj', 'token': '46b17734-3212-414b-8101-5ea27b1e7d9c', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:41,399", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Authentification demand\u00e9e pour juj", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:41,399", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Tentative d'authentification avec le token: 46b17734-3212-414b-8101-5ea27b1e7d9c pour l'utilisateur: juj", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:41,409", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Utilisateur juj authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:41,409", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Envoi d'un message de type authenticated de juj dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:41,409", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Diffusion d'un message de juj \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:47,258", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:29:47,262", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'uuuu', 'token': '13160592-87a5-4a1a-bc5e-b20651c85c0e', 'room': 'main_room'}", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:29:47,263", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Authentification demand\u00e9e pour uuuu", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:29:47,263", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Tentative d'authentification avec le token: 13160592-87a5-4a1a-bc5e-b20651c85c0e pour l'utilisateur: uuuu", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:29:47,270", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Utilisateur uuuu authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:29:47,270", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Envoi d'un message de type authenticated de uuuu dans la room main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:29:47,271", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Diffusion d'un message de uuuu \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:47,271", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Diffusion d'un message de uuuu \u00e0 la room main_room: Authentication successful", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:29:56,017", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Message re\u00e7u: {'type': 'invite', 'inviter': 'juj', 'target_user': 'uuuu', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:56,017", "levelname": "ERROR", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Username manquant dans le message: {'type': 'invite', 'inviter': 'juj', 'target_user': 'uuuu', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:56,018", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Envoi d'un message de type error de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:56,018", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Diffusion d'un message de server \u00e0 la room main_room: Username is missing", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:29:56,018", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140129929452416, "message": "Diffusion d'un message de server \u00e0 la room main_room: Username is missing", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:31:25,168", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 25, "thread": 140643526908800, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 12:31:25,174", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 25, "thread": 140643526908800, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:31:25,175", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 140643526908800, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 12:31:25,175", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 140643526908800, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:31:25,176", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 140643526908800, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 12:32:15,750", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:15,753", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'iii', 'token': '1bc84fd5-c8fe-4ea7-b0ca-f6c423cf9326', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:15,753", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Authentification demand\u00e9e pour iii", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:15,753", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Tentative d'authentification avec le token: 1bc84fd5-c8fe-4ea7-b0ca-f6c423cf9326 pour l'utilisateur: iii", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:15,762", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Utilisateur iii authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:15,762", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Envoi d'un message de type authenticated de iii dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:15,762", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Diffusion d'un message de iii \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:22,169", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:32:22,171", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'mmm', 'token': 'c4775767-2044-4ab9-8619-4d59336e8798', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:32:22,171", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Authentification demand\u00e9e pour mmm", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:32:22,171", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Tentative d'authentification avec le token: c4775767-2044-4ab9-8619-4d59336e8798 pour l'utilisateur: mmm", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:32:22,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Utilisateur mmm authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:32:22,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Envoi d'un message de type authenticated de mmm dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:32:22,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Diffusion d'un message de mmm \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:22,180", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Diffusion d'un message de mmm \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:32:29,036", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Message re\u00e7u: {'type': 'invite', 'inviter': 'iii', 'target_user': 'mmm', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:29,036", "levelname": "ERROR", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Username manquant dans le message: {'type': 'invite', 'inviter': 'iii', 'target_user': 'mmm', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:29,036", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Envoi d'un message de type error de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:29,037", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Diffusion d'un message de server \u00e0 la room main_room: Username is missing", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:32:29,037", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140643526908800, "message": "Diffusion d'un message de server \u00e0 la room main_room: Username is missing", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:39:38,551", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 25, "thread": 139967344884608, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 12:39:38,559", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 25, "thread": 139967344884608, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:39:38,560", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 139967344884608, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 12:39:38,560", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 139967344884608, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:39:38,561", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 139967344884608, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 12:40:16,472", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:16,475", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'iii', 'token': '1bc84fd5-c8fe-4ea7-b0ca-f6c423cf9326', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:16,475", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Authentification demand\u00e9e pour iii", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:16,475", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Tentative d'authentification avec le token: 1bc84fd5-c8fe-4ea7-b0ca-f6c423cf9326 pour l'utilisateur: iii", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:16,484", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Utilisateur iii authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:16,485", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Envoi d'un message de type authenticated de iii dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:16,485", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Diffusion d'un message de iii \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:22,184", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:40:22,186", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ooo', 'token': 'd1e37420-0d1e-4972-80fd-25dc47616e88', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:40:22,187", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Authentification demand\u00e9e pour ooo", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:40:22,187", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Tentative d'authentification avec le token: d1e37420-0d1e-4972-80fd-25dc47616e88 pour l'utilisateur: ooo", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:40:22,194", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Utilisateur ooo authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:40:22,194", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Envoi d'un message de type authenticated de ooo dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:40:22,195", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Diffusion d'un message de ooo \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:22,195", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Diffusion d'un message de ooo \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:40:34,383", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Message re\u00e7u: {'type': 'invite', 'inviter': 'iii', 'target_user': 'ooo', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:34,383", "levelname": "ERROR", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Invitant manquant dans le message d'invitation", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:34,383", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Envoi d'un message de type error de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:34,384", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Diffusion d'un message de server \u00e0 la room main_room: Invitant manquant", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:40:34,384", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139967344884608, "message": "Diffusion d'un message de server \u00e0 la room main_room: Invitant manquant", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:03,973", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 26, "thread": 140320034872192, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 12:42:03,979", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 26, "thread": 140320034872192, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:42:03,980", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 26, "thread": 140320034872192, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 12:42:03,981", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 26, "thread": 140320034872192, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:42:03,981", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 26, "thread": 140320034872192, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 12:42:42,276", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:42,279", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'pp', 'token': '770d5448-2126-4e6d-8735-a87ebdec254c', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:42,279", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Authentification demand\u00e9e pour pp", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:42,279", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Tentative d'authentification avec le token: 770d5448-2126-4e6d-8735-a87ebdec254c pour l'utilisateur: pp", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:42,288", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Utilisateur pp authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:42,288", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Envoi d'un message de type authenticated de pp dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:42,288", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Diffusion d'un message de pp \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:50,352", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:50,354", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'lll', 'token': '6b67162b-2302-4da1-8b39-2d3c719e5a8f', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:50,354", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Authentification demand\u00e9e pour lll", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:50,354", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Tentative d'authentification avec le token: 6b67162b-2302-4da1-8b39-2d3c719e5a8f pour l'utilisateur: lll", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:50,361", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Utilisateur lll authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:50,361", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Envoi d'un message de type authenticated de lll dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:50,362", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Diffusion d'un message de lll \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:50,362", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Diffusion d'un message de lll \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:58,322", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Message re\u00e7u: {'type': 'invite', 'inviter': 'pp', 'target_user': 'lll', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:58,322", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Invitation envoy\u00e9e de pp \u00e0 lll dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:58,323", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:58,323", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Diffusion d'un message de server \u00e0 la room main_room: pp a invit\u00e9 lll \u00e0 rejoindre une partie main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:58,323", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Diffusion d'un message de server \u00e0 la room main_room: pp a invit\u00e9 lll \u00e0 rejoindre une partie main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:58,323", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=pp, Room=main_room, Message=pp vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:58,324", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=pp, Room=main_room, Message=pp vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:58,368", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'lll', 'response': 'no', 'inviter': 'pp', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:58,369", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "None a r\u00e9pondu 'no' \u00e0 l'invitation de pp", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:58,369", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:58,369", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Diffusion d'un message de server \u00e0 la room main_room: None a r\u00e9pondu no \u00e0 l'invitation.", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:42:58,369", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 26, "thread": 140320034872192, "message": "Diffusion d'un message de server \u00e0 la room main_room: None a r\u00e9pondu no \u00e0 l'invitation.", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:42:58,598", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 26, "thread": 140320034872192, "message": "Exception inside application: No handler for message type invite_response", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite_response", "taskName": null} +{"asctime": "2024-09-17 12:42:58,603", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 26, "thread": 140320034872192, "message": "Exception inside application: No handler for message type invite_response", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite_response", "taskName": null} +{"asctime": "2024-09-17 12:45:59,846", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 25, "thread": 140406961761152, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 12:45:59,850", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 25, "thread": 140406961761152, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:45:59,851", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 140406961761152, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 12:45:59,851", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 140406961761152, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:45:59,852", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 140406961761152, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 12:46:57,019", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:46:57,024", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'eee', 'token': '85b7d04b-c6a8-4456-97d0-1e8016404ca9', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:46:57,024", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Authentification demand\u00e9e pour eee", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:46:57,024", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Tentative d'authentification avec le token: 85b7d04b-c6a8-4456-97d0-1e8016404ca9 pour l'utilisateur: eee", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:46:57,035", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Utilisateur eee authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:46:57,035", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Envoi d'un message de type authenticated de eee dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:46:57,036", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Diffusion d'un message de eee \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:47:02,717", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:02,720", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ttt', 'token': 'f3c507d4-1013-4c80-a0dd-07fc4ae5e801', 'room': 'main_room'}", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:02,720", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Authentification demand\u00e9e pour ttt", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:02,720", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Tentative d'authentification avec le token: f3c507d4-1013-4c80-a0dd-07fc4ae5e801 pour l'utilisateur: ttt", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:02,729", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Utilisateur ttt authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:02,729", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Envoi d'un message de type authenticated de ttt dans la room main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:02,730", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Diffusion d'un message de ttt \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:47:02,730", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Diffusion d'un message de ttt \u00e0 la room main_room: Authentication successful", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:08,710", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'eee', 'target_user': 'ttt', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:47:08,710", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Invitation envoy\u00e9e de eee \u00e0 ttt dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:47:08,710", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:47:08,710", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Diffusion d'un message de server \u00e0 la room main_room: eee a invit\u00e9 ttt \u00e0 rejoindre une partie main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:47:08,721", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Diffusion d'un message de server \u00e0 la room main_room: eee a invit\u00e9 ttt \u00e0 rejoindre une partie main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:08,722", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=eee, Room=main_room, Message=eee vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:47:08,722", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=eee, Room=main_room, Message=eee vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:14,981", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'ttt', 'response': 'yes', 'inviter': 'eee', 'room': 'main_room'}", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:14,981", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "None a r\u00e9pondu 'yes' \u00e0 l'invitation de eee", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:14,982", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:14,982", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Diffusion d'un message de server \u00e0 la room main_room: None a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:47:14,982", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Diffusion d'un message de server \u00e0 la room main_room: None a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:47:14,990", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 25, "thread": 140406961761152, "message": "Exception inside application: No handler for message type invite_response", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite_response", "taskName": null} +{"asctime": "2024-09-17 12:47:15,009", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 25, "thread": 140406961761152, "message": "Exception inside application: No handler for message type invite_response", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite_response", "taskName": null} +{"asctime": "2024-09-17 12:47:16,988", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:47:16,990", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ttt', 'token': 'f3c507d4-1013-4c80-a0dd-07fc4ae5e801', 'room': 'quick_match'}", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:47:16,991", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Authentification demand\u00e9e pour ttt", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:47:16,991", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Tentative d'authentification avec le token: f3c507d4-1013-4c80-a0dd-07fc4ae5e801 pour l'utilisateur: ttt", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:47:16,999", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Utilisateur ttt authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:47:16,999", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Envoi d'un message de type authenticated de ttt dans la room quick_match", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:47:16,999", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 140406961761152, "message": "Diffusion d'un message de ttt \u00e0 la room quick_match: Authentication successful", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:52:43,425", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140208355797888, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 12:52:43,429", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140208355797888, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:52:43,430", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140208355797888, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 12:52:43,430", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140208355797888, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:52:43,431", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140208355797888, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 12:53:23,978", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:23,983", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'iiii', 'token': '2eda5ef2-d3df-4d24-8a94-eb93e5ab1295', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:23,983", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Authentification demand\u00e9e pour iiii", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:23,983", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Tentative d'authentification avec le token: 2eda5ef2-d3df-4d24-8a94-eb93e5ab1295 pour l'utilisateur: iiii", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:23,996", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Utilisateur iiii authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:23,997", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Envoi d'un message de type authenticated de iiii dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:23,997", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Diffusion d'un message de iiii \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:30,170", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:53:30,172", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'pppp', 'token': '9e5664e6-717b-4365-a011-cc3023595153', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:53:30,173", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Authentification demand\u00e9e pour pppp", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:53:30,173", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Tentative d'authentification avec le token: 9e5664e6-717b-4365-a011-cc3023595153 pour l'utilisateur: pppp", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:53:30,180", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Utilisateur pppp authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:53:30,180", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Envoi d'un message de type authenticated de pppp dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:53:30,180", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Diffusion d'un message de pppp \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:30,181", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Diffusion d'un message de pppp \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:53:38,781", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'iiii', 'target_user': 'pppp', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:38,781", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Invitation envoy\u00e9e de iiii \u00e0 pppp dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:38,781", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:38,782", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Diffusion d'un message de server \u00e0 la room main_room: iiii a invit\u00e9 pppp \u00e0 rejoindre une partie main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:53:38,782", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140208355797888, "message": "Diffusion d'un message de server \u00e0 la room main_room: iiii a invit\u00e9 pppp \u00e0 rejoindre une partie main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 12:53:39,753", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 18, "thread": 140208355797888, "message": "Exception inside application: No handler for message type invite", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite", "taskName": null} +{"asctime": "2024-09-17 12:53:39,757", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 18, "thread": 140208355797888, "message": "Exception inside application: No handler for message type invite", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite", "taskName": null} +{"asctime": "2024-09-17 12:55:53,635", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 25, "thread": 139909496044416, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 12:55:53,640", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 25, "thread": 139909496044416, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:55:53,640", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 139909496044416, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 12:55:53,641", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 139909496044416, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 12:55:53,641", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 25, "thread": 139909496044416, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 12:57:11,654", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:11,657", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ttt', 'token': 'f3c507d4-1013-4c80-a0dd-07fc4ae5e801', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:11,658", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Authentification demand\u00e9e pour ttt", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:11,658", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Tentative d'authentification avec le token: f3c507d4-1013-4c80-a0dd-07fc4ae5e801 pour l'utilisateur: ttt", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:11,666", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Utilisateur ttt authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:11,666", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Envoi d'un message de type authenticated de ttt dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:11,666", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Diffusion d'un message de ttt \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:17,374", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:17,375", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'rrrr', 'token': 'af059c7b-1911-4d92-9af1-405527001c85', 'room': 'main_room'}", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:17,376", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Authentification demand\u00e9e pour rrrr", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:17,376", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Tentative d'authentification avec le token: af059c7b-1911-4d92-9af1-405527001c85 pour l'utilisateur: rrrr", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:17,383", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Utilisateur rrrr authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:17,384", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Envoi d'un message de type authenticated de rrrr dans la room main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:17,384", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Diffusion d'un message de rrrr \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:17,384", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Diffusion d'un message de rrrr \u00e0 la room main_room: Authentication successful", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:26,931", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'ttt', 'target_user': 'rrrr', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:26,931", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Invitation envoy\u00e9e de ttt \u00e0 rrrr dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:26,932", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:26,932", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Diffusion d'un message de server \u00e0 la room main_room: ttt a invit\u00e9 rrrr \u00e0 rejoindre une partie main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:26,932", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Diffusion d'un message de server \u00e0 la room main_room: ttt a invit\u00e9 rrrr \u00e0 rejoindre une partie main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:26,932", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=ttt, Room=main_room, Message=ttt vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:26,933", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=ttt, Room=main_room, Message=ttt vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:30,136", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'rrrr', 'response': 'yes', 'inviter': 'ttt', 'room': 'main_room'}", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:30,136", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "None a r\u00e9pondu 'yes' \u00e0 l'invitation de ttt", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:30,136", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:30,136", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Diffusion d'un message de server \u00e0 la room main_room: None a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-53"} +{"asctime": "2024-09-17 12:57:30,136", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Diffusion d'un message de server \u00e0 la room main_room: None a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-71"} +{"asctime": "2024-09-17 12:57:31,027", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 25, "thread": 139909496044416, "message": "Exception inside application: No handler for message type invite_response", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite_response", "taskName": null} +{"asctime": "2024-09-17 12:57:31,030", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 25, "thread": 139909496044416, "message": "Exception inside application: No handler for message type invite_response", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite_response", "taskName": null} +{"asctime": "2024-09-17 12:57:32,145", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:57:32,148", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'rrrr', 'token': 'af059c7b-1911-4d92-9af1-405527001c85', 'room': 'quick_match'}", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:57:32,148", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Authentification demand\u00e9e pour rrrr", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:57:32,148", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Tentative d'authentification avec le token: af059c7b-1911-4d92-9af1-405527001c85 pour l'utilisateur: rrrr", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:57:32,156", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Utilisateur rrrr authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:57:32,157", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Envoi d'un message de type authenticated de rrrr dans la room quick_match", "taskName": "Task-86"} +{"asctime": "2024-09-17 12:57:32,157", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 25, "thread": 139909496044416, "message": "Diffusion d'un message de rrrr \u00e0 la room quick_match: Authentication successful", "taskName": "Task-86"} +{"asctime": "2024-09-17 13:08:01,593", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139968256703360, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 13:08:01,597", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139968256703360, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 13:08:01,597", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139968256703360, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 13:08:01,598", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139968256703360, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 13:08:01,598", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139968256703360, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 13:08:46,281", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:46,286", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'uuu', 'token': 'd63d0ed2-20d7-4c5f-8793-18a5b38d2503', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:46,287", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour uuu", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:46,287", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: d63d0ed2-20d7-4c5f-8793-18a5b38d2503 pour l'utilisateur: uuu", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:46,296", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur uuu authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:46,296", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de uuu dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:46,296", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de uuu \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:51,250", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:08:51,252", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'iiii', 'token': '2eda5ef2-d3df-4d24-8a94-eb93e5ab1295', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:08:51,252", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour iiii", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:08:51,253", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: 2eda5ef2-d3df-4d24-8a94-eb93e5ab1295 pour l'utilisateur: iiii", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:08:51,260", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur iiii authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:08:51,260", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de iiii dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:08:51,260", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de iiii \u00e0 la room main_room: Authentication successful", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:51,261", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de iiii \u00e0 la room main_room: Authentication successful", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:08:59,916", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'uuu', 'target_user': 'iiii', 'room': 'main_room'}", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:59,916", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Invitation envoy\u00e9e de uuu \u00e0 iiii dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:59,916", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:59,917", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de server \u00e0 la room main_room: uuu a invit\u00e9 iiii \u00e0 rejoindre une partie main_room", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:59,917", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de server \u00e0 la room main_room: uuu a invit\u00e9 iiii \u00e0 rejoindre une partie main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:08:59,917", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=uuu, Room=main_room, Message=uuu vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:08:59,917", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=uuu, Room=main_room, Message=uuu vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:09:06,046", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'iiii', 'response': 'yes', 'inviter': 'uuu', 'room': 'main_room'}", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:09:06,047", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "iiii a r\u00e9pondu 'yes' \u00e0 l'invitation de uuu", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:09:06,047", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:09:06,047", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de server \u00e0 la room main_room: iiii a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-53"} +{"asctime": "2024-09-17 13:09:06,047", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de server \u00e0 la room main_room: iiii a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-111"} +{"asctime": "2024-09-17 13:09:06,148", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 18, "thread": 139968256703360, "message": "Exception inside application: No handler for message type invite_response", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite_response", "taskName": null} +{"asctime": "2024-09-17 13:09:06,151", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 18, "thread": 139968256703360, "message": "Exception inside application: No handler for message type invite_response", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite_response", "taskName": null} +{"asctime": "2024-09-17 13:09:08,054", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-126"} +{"asctime": "2024-09-17 13:09:08,056", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'iiii', 'token': '2eda5ef2-d3df-4d24-8a94-eb93e5ab1295', 'room': 'quick_match'}", "taskName": "Task-126"} +{"asctime": "2024-09-17 13:09:08,057", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour iiii", "taskName": "Task-126"} +{"asctime": "2024-09-17 13:09:08,057", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: 2eda5ef2-d3df-4d24-8a94-eb93e5ab1295 pour l'utilisateur: iiii", "taskName": "Task-126"} +{"asctime": "2024-09-17 13:09:08,064", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur iiii authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-126"} +{"asctime": "2024-09-17 13:09:08,065", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de iiii dans la room quick_match", "taskName": "Task-126"} +{"asctime": "2024-09-17 13:09:08,065", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de iiii \u00e0 la room quick_match: Authentication successful", "taskName": "Task-126"} +{"asctime": "2024-09-17 13:13:22,159", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type chat_message de iiii dans la room quick_match", "taskName": "Task-126"} +{"asctime": "2024-09-17 13:13:22,160", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "iiii d\u00e9connect\u00e9 de la room quick_match", "taskName": "Task-126"} +{"asctime": "2024-09-17 13:13:27,573", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:27,576", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'iii', 'token': '1bc84fd5-c8fe-4ea7-b0ca-f6c423cf9326', 'room': 'main_room'}", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:27,576", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour iii", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:27,576", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: 1bc84fd5-c8fe-4ea7-b0ca-f6c423cf9326 pour l'utilisateur: iii", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:27,585", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur iii authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:27,585", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de iii dans la room main_room", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:27,585", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de iii \u00e0 la room main_room: Authentication successful", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:34,477", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:34,479", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'lllol', 'token': '8c732487-1992-4801-aa17-61c7be3ce3ae', 'room': 'main_room'}", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:34,479", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour lllol", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:34,480", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: 8c732487-1992-4801-aa17-61c7be3ce3ae pour l'utilisateur: lllol", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:34,487", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur lllol authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:34,487", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de lllol dans la room main_room", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:34,487", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de lllol \u00e0 la room main_room: Authentication successful", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:34,487", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de lllol \u00e0 la room main_room: Authentication successful", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:46,695", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'iii', 'target_user': 'lllol', 'room': 'main_room'}", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:46,695", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Invitation envoy\u00e9e de iii \u00e0 lllol dans la room main_room", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:46,696", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:46,696", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de server \u00e0 la room main_room: iii a invit\u00e9 lllol \u00e0 rejoindre une partie main_room", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:46,696", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de server \u00e0 la room main_room: iii a invit\u00e9 lllol \u00e0 rejoindre une partie main_room", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:46,697", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=iii, Room=main_room, Message=iii vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:46,697", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=iii, Room=main_room, Message=iii vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:52,955", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'lllol', 'response': 'yes', 'inviter': 'iii', 'room': 'main_room'}", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:52,956", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "lllol a r\u00e9pondu 'yes' \u00e0 l'invitation de iii", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:52,956", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:52,956", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de server \u00e0 la room main_room: lllol a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-192"} +{"asctime": "2024-09-17 13:13:52,956", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de server \u00e0 la room main_room: lllol a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-210"} +{"asctime": "2024-09-17 13:13:53,418", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 18, "thread": 139968256703360, "message": "Exception inside application: No handler for message type invite_response", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite_response", "taskName": null} +{"asctime": "2024-09-17 13:13:53,420", "levelname": "ERROR", "name": "daphne.server", "module": "server", "process": 18, "thread": 139968256703360, "message": "Exception inside application: No handler for message type invite_response", "exc_info": "Traceback (most recent call last):\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 62, in __call__\n return await application(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 47, in __call__\n return await self.inner(dict(scope, cookies=cookies), receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/sessions.py\", line 263, in __call__\n return await self.inner(wrapper.scope, receive, wrapper.send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/auth.py\", line 185, in __call__\n return await super().__call__(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/middleware.py\", line 24, in __call__\n return await self.inner(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/routing.py\", line 132, in __call__\n return await application(\n ^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 94, in app\n return await consumer(scope, receive, send)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 58, in __call__\n await await_many_dispatch(\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/utils.py\", line 50, in await_many_dispatch\n await dispatch(result)\n File \"/transcendence/venv/lib/python3.12/site-packages/channels/consumer.py\", line 75, in dispatch\n raise ValueError(\"No handler for message type %s\" % message[\"type\"])\nValueError: No handler for message type invite_response", "taskName": null} +{"asctime": "2024-09-17 13:13:54,961", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:13:54,964", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'lllol', 'token': '8c732487-1992-4801-aa17-61c7be3ce3ae', 'room': 'quick_match'}", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:13:54,964", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour lllol", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:13:54,964", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: 8c732487-1992-4801-aa17-61c7be3ce3ae pour l'utilisateur: lllol", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:13:54,972", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur lllol authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:13:54,972", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de lllol dans la room quick_match", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:13:54,972", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de lllol \u00e0 la room quick_match: Authentication successful", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:18:47,807", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-291"} +{"asctime": "2024-09-17 13:18:47,810", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'uu', 'token': '3f1e490b-8c54-48be-a54d-3ede4850275b', 'room': 'main_room'}", "taskName": "Task-291"} +{"asctime": "2024-09-17 13:18:47,810", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour uu", "taskName": "Task-291"} +{"asctime": "2024-09-17 13:18:47,810", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: 3f1e490b-8c54-48be-a54d-3ede4850275b pour l'utilisateur: uu", "taskName": "Task-291"} +{"asctime": "2024-09-17 13:18:47,818", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur uu authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-291"} +{"asctime": "2024-09-17 13:18:47,819", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de uu dans la room main_room", "taskName": "Task-291"} +{"asctime": "2024-09-17 13:18:47,819", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de uu \u00e0 la room main_room: Authentication successful", "taskName": "Task-291"} +{"asctime": "2024-09-17 13:18:49,353", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-297"} +{"asctime": "2024-09-17 13:18:49,357", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'uu', 'token': '3f1e490b-8c54-48be-a54d-3ede4850275b', 'room': 'quick_match'}", "taskName": "Task-297"} +{"asctime": "2024-09-17 13:18:49,357", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour uu", "taskName": "Task-297"} +{"asctime": "2024-09-17 13:18:49,357", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: 3f1e490b-8c54-48be-a54d-3ede4850275b pour l'utilisateur: uu", "taskName": "Task-297"} +{"asctime": "2024-09-17 13:18:49,365", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur uu authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-297"} +{"asctime": "2024-09-17 13:18:49,365", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de uu dans la room quick_match", "taskName": "Task-297"} +{"asctime": "2024-09-17 13:18:49,366", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de uu \u00e0 la room quick_match: Authentication successful", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:18:49,366", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de uu \u00e0 la room quick_match: Authentication successful", "taskName": "Task-297"} +{"asctime": "2024-09-17 13:19:04,187", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type chat_message de uu dans la room quick_match", "taskName": "Task-297"} +{"asctime": "2024-09-17 13:19:04,188", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "uu d\u00e9connect\u00e9 de la room quick_match", "taskName": "Task-297"} +{"asctime": "2024-09-17 13:19:04,188", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type chat_message de uu dans la room main_room", "taskName": "Task-291"} +{"asctime": "2024-09-17 13:19:04,188", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "uu d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-291"} +{"asctime": "2024-09-17 13:19:04,188", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de uu \u00e0 la room quick_match: uu a quitt\u00e9 le chat", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:19:07,718", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-323"} +{"asctime": "2024-09-17 13:19:07,720", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'jj', 'token': 'c6e290f3-5944-42b1-8482-7d062ca74a7d', 'room': 'main_room'}", "taskName": "Task-323"} +{"asctime": "2024-09-17 13:19:07,720", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour jj", "taskName": "Task-323"} +{"asctime": "2024-09-17 13:19:07,720", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: c6e290f3-5944-42b1-8482-7d062ca74a7d pour l'utilisateur: jj", "taskName": "Task-323"} +{"asctime": "2024-09-17 13:19:07,728", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur jj authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-323"} +{"asctime": "2024-09-17 13:19:07,729", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de jj dans la room main_room", "taskName": "Task-323"} +{"asctime": "2024-09-17 13:19:07,729", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de jj \u00e0 la room main_room: Authentication successful", "taskName": "Task-323"} +{"asctime": "2024-09-17 13:19:09,285", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-329"} +{"asctime": "2024-09-17 13:19:09,288", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'jj', 'token': 'c6e290f3-5944-42b1-8482-7d062ca74a7d', 'room': 'quick_match'}", "taskName": "Task-329"} +{"asctime": "2024-09-17 13:19:09,288", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour jj", "taskName": "Task-329"} +{"asctime": "2024-09-17 13:19:09,288", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: c6e290f3-5944-42b1-8482-7d062ca74a7d pour l'utilisateur: jj", "taskName": "Task-329"} +{"asctime": "2024-09-17 13:19:09,296", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur jj authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-329"} +{"asctime": "2024-09-17 13:19:09,297", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de jj dans la room quick_match", "taskName": "Task-329"} +{"asctime": "2024-09-17 13:19:09,297", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de jj \u00e0 la room quick_match: Authentication successful", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:19:09,298", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de jj \u00e0 la room quick_match: Authentication successful", "taskName": "Task-329"} +{"asctime": "2024-09-17 13:19:13,049", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'lllol', 'message': 'juju', 'room': 'quick_match'}", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:19:13,049", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message de chat envoy\u00e9 par lllol: juju", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:19:13,049", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type chat_message de lllol dans la room quick_match", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:19:13,049", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de lllol \u00e0 la room quick_match: juju", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:19:13,050", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de lllol \u00e0 la room quick_match: juju", "taskName": "Task-329"} +{"asctime": "2024-09-17 13:19:17,446", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type chat_message de lllol dans la room quick_match", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:19:17,446", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "lllol d\u00e9connect\u00e9 de la room quick_match", "taskName": "Task-225"} +{"asctime": "2024-09-17 13:19:17,447", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de lllol \u00e0 la room quick_match: lllol a quitt\u00e9 le chat", "taskName": "Task-329"} +{"asctime": "2024-09-17 13:19:21,054", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-360"} +{"asctime": "2024-09-17 13:19:21,055", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'uuu', 'token': 'd63d0ed2-20d7-4c5f-8793-18a5b38d2503', 'room': 'main_room'}", "taskName": "Task-360"} +{"asctime": "2024-09-17 13:19:21,056", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour uuu", "taskName": "Task-360"} +{"asctime": "2024-09-17 13:19:21,056", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: d63d0ed2-20d7-4c5f-8793-18a5b38d2503 pour l'utilisateur: uuu", "taskName": "Task-360"} +{"asctime": "2024-09-17 13:19:21,064", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur uuu authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-360"} +{"asctime": "2024-09-17 13:19:21,065", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de uuu dans la room main_room", "taskName": "Task-360"} +{"asctime": "2024-09-17 13:19:21,065", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de uuu \u00e0 la room main_room: Authentication successful", "taskName": "Task-323"} +{"asctime": "2024-09-17 13:19:21,065", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de uuu \u00e0 la room main_room: Authentication successful", "taskName": "Task-360"} +{"asctime": "2024-09-17 13:19:28,735", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type chat_message de jj dans la room main_room", "taskName": "Task-323"} +{"asctime": "2024-09-17 13:19:28,735", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "jj d\u00e9connect\u00e9 de la room main_room", "taskName": "Task-323"} +{"asctime": "2024-09-17 13:19:28,735", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type chat_message de jj dans la room quick_match", "taskName": "Task-329"} +{"asctime": "2024-09-17 13:19:28,736", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "jj d\u00e9connect\u00e9 de la room quick_match", "taskName": "Task-329"} +{"asctime": "2024-09-17 13:19:28,736", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de jj \u00e0 la room main_room: jj a quitt\u00e9 le chat", "taskName": "Task-360"} +{"asctime": "2024-09-17 13:19:32,346", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-380"} +{"asctime": "2024-09-17 13:19:32,348", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'kk', 'token': 'f5ca401c-b6c7-479e-acbb-126c8458347f', 'room': 'main_room'}", "taskName": "Task-380"} +{"asctime": "2024-09-17 13:19:32,348", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour kk", "taskName": "Task-380"} +{"asctime": "2024-09-17 13:19:32,348", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: f5ca401c-b6c7-479e-acbb-126c8458347f pour l'utilisateur: kk", "taskName": "Task-380"} +{"asctime": "2024-09-17 13:19:32,356", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur kk authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-380"} +{"asctime": "2024-09-17 13:19:32,356", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de kk dans la room main_room", "taskName": "Task-380"} +{"asctime": "2024-09-17 13:19:32,356", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de kk \u00e0 la room main_room: Authentication successful", "taskName": "Task-360"} +{"asctime": "2024-09-17 13:19:32,357", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de kk \u00e0 la room main_room: Authentication successful", "taskName": "Task-380"} +{"asctime": "2024-09-17 13:19:36,928", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-387"} +{"asctime": "2024-09-17 13:19:36,931", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'uuu', 'token': 'd63d0ed2-20d7-4c5f-8793-18a5b38d2503', 'room': 'quick_match'}", "taskName": "Task-387"} +{"asctime": "2024-09-17 13:19:36,931", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour uuu", "taskName": "Task-387"} +{"asctime": "2024-09-17 13:19:36,931", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: d63d0ed2-20d7-4c5f-8793-18a5b38d2503 pour l'utilisateur: uuu", "taskName": "Task-387"} +{"asctime": "2024-09-17 13:19:36,941", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur uuu authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-387"} +{"asctime": "2024-09-17 13:19:36,941", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de uuu dans la room quick_match", "taskName": "Task-387"} +{"asctime": "2024-09-17 13:19:36,941", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de uuu \u00e0 la room quick_match: Authentication successful", "taskName": "Task-387"} +{"asctime": "2024-09-17 13:19:38,168", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-399"} +{"asctime": "2024-09-17 13:19:38,170", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'kk', 'token': 'f5ca401c-b6c7-479e-acbb-126c8458347f', 'room': 'quick_match'}", "taskName": "Task-399"} +{"asctime": "2024-09-17 13:19:38,170", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Authentification demand\u00e9e pour kk", "taskName": "Task-399"} +{"asctime": "2024-09-17 13:19:38,171", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Tentative d'authentification avec le token: f5ca401c-b6c7-479e-acbb-126c8458347f pour l'utilisateur: kk", "taskName": "Task-399"} +{"asctime": "2024-09-17 13:19:38,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Utilisateur kk authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-399"} +{"asctime": "2024-09-17 13:19:38,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Envoi d'un message de type authenticated de kk dans la room quick_match", "taskName": "Task-399"} +{"asctime": "2024-09-17 13:19:38,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de kk \u00e0 la room quick_match: Authentication successful", "taskName": "Task-387"} +{"asctime": "2024-09-17 13:19:38,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139968256703360, "message": "Diffusion d'un message de kk \u00e0 la room quick_match: Authentication successful", "taskName": "Task-399"} +{"asctime": "2024-09-17 16:23:35,007", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140289265064832, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 16:23:35,010", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140289265064832, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:23:35,010", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140289265064832, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 16:23:35,010", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140289265064832, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:23:35,011", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140289265064832, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 16:38:08,691", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140213396159360, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 16:38:08,695", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140213396159360, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:38:08,695", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140213396159360, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 16:38:08,696", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140213396159360, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:38:08,696", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140213396159360, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 16:39:05,801", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:05,803", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'fer', 'token': 'ba90567a-e6c5-48ca-9c0c-ab430370eda4', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:05,803", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Authentification demand\u00e9e pour fer", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:05,803", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Tentative d'authentification avec le token: ba90567a-e6c5-48ca-9c0c-ab430370eda4 pour l'utilisateur: fer", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:05,809", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Utilisateur fer authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:05,809", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Envoi d'un message de type authenticated de fer dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:05,809", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de fer \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:12,272", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:12,274", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ffff', 'token': 'b64836aa-9909-4bc1-b501-d9be64f2c21b', 'room': 'main_room'}", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:12,274", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Authentification demand\u00e9e pour ffff", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:12,274", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Tentative d'authentification avec le token: b64836aa-9909-4bc1-b501-d9be64f2c21b pour l'utilisateur: ffff", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:12,280", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Utilisateur ffff authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:12,280", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Envoi d'un message de type authenticated de ffff dans la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:12,280", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de ffff \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:12,280", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de ffff \u00e0 la room main_room: Authentication successful", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:22,581", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'fer', 'target_user': 'ffff', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:22,581", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Invitation envoy\u00e9e de fer \u00e0 ffff dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:22,581", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:22,581", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room main_room: fer a invit\u00e9 ffff \u00e0 rejoindre une partie main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:22,582", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room main_room: fer a invit\u00e9 ffff \u00e0 rejoindre une partie main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:22,582", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=fer, Room=main_room, Message=fer vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:22,582", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=fer, Room=main_room, Message=fer vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:26,308", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'ffff', 'response': 'yes', 'inviter': 'fer', 'room': 'main_room'}", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:26,308", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "ffff a r\u00e9pondu 'yes' \u00e0 l'invitation de fer", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:26,308", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:26,308", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room main_room: ffff a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:26,309", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room main_room: ffff a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:26,309", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=ffff a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=fer", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:39:26,309", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=ffff a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=fer", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:39:26,356", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:39:26,358", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'fer', 'token': 'ba90567a-e6c5-48ca-9c0c-ab430370eda4', 'room': 'quick_match'}", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:39:26,358", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Authentification demand\u00e9e pour fer", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:39:26,358", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Tentative d'authentification avec le token: ba90567a-e6c5-48ca-9c0c-ab430370eda4 pour l'utilisateur: fer", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:39:26,364", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Utilisateur fer authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:39:26,364", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Envoi d'un message de type authenticated de fer dans la room quick_match", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:39:26,364", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de fer \u00e0 la room quick_match: Authentication successful", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:39:28,314", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:39:28,315", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ffff', 'token': 'b64836aa-9909-4bc1-b501-d9be64f2c21b', 'room': 'quick_match'}", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:39:28,315", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Authentification demand\u00e9e pour ffff", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:39:28,315", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Tentative d'authentification avec le token: b64836aa-9909-4bc1-b501-d9be64f2c21b pour l'utilisateur: ffff", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:39:28,322", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Utilisateur ffff authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:39:28,322", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Envoi d'un message de type authenticated de ffff dans la room quick_match", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:39:28,322", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de ffff \u00e0 la room quick_match: Authentication successful", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:39:28,322", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de ffff \u00e0 la room quick_match: Authentication successful", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:40:07,893", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'ffff', 'target_user': 'fer', 'room': 'quick_match'}", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:40:07,893", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Invitation envoy\u00e9e de ffff \u00e0 fer dans la room quick_match", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:40:07,893", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Envoi d'un message de type chat_message de server dans la room quick_match", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:40:07,893", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room quick_match: ffff a invit\u00e9 fer \u00e0 rejoindre une partie quick_match", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:40:07,893", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room quick_match: ffff a invit\u00e9 fer \u00e0 rejoindre une partie quick_match", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:40:07,894", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=ffff, Room=quick_match, Message=ffff vous a invit\u00e9 \u00e0 rejoindre la room quick_match.", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:40:07,894", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=ffff, Room=quick_match, Message=ffff vous a invit\u00e9 \u00e0 rejoindre la room quick_match.", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:40:14,275", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'fer', 'response': 'yes', 'inviter': 'ffff', 'room': 'quick_match'}", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:40:14,275", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "fer a r\u00e9pondu 'yes' \u00e0 l'invitation de ffff", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:40:14,275", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Envoi d'un message de type chat_message de server dans la room quick_match", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:40:14,275", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room quick_match: fer a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:40:14,276", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room quick_match: fer a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:40:14,276", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=fer a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=ffff", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:40:14,276", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=fer a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=ffff", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:42:11,091", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'ffff', 'target_user': 'fer', 'room': 'quick_match'}", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:42:11,092", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Invitation envoy\u00e9e de ffff \u00e0 fer dans la room quick_match", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:42:11,092", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Envoi d'un message de type chat_message de server dans la room quick_match", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:42:11,092", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room quick_match: ffff a invit\u00e9 fer \u00e0 rejoindre une partie quick_match", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:42:11,092", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room quick_match: ffff a invit\u00e9 fer \u00e0 rejoindre une partie quick_match", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:42:11,092", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=ffff, Room=quick_match, Message=ffff vous a invit\u00e9 \u00e0 rejoindre la room quick_match.", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:42:11,092", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=ffff, Room=quick_match, Message=ffff vous a invit\u00e9 \u00e0 rejoindre la room quick_match.", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:42:13,715", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'fer', 'response': 'yes', 'inviter': 'ffff', 'room': 'quick_match'}", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:42:13,715", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "fer a r\u00e9pondu 'yes' \u00e0 l'invitation de ffff", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:42:13,715", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Envoi d'un message de type chat_message de server dans la room quick_match", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:42:13,715", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room quick_match: fer a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:42:13,715", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "Diffusion d'un message de server \u00e0 la room quick_match: fer a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:42:13,716", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=fer a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=ffff", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:42:13,716", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140213396159360, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=fer a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=ffff", "taskName": "Task-88"} +{"asctime": "2024-09-17 16:46:17,860", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140402200488832, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 16:46:17,863", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140402200488832, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:46:17,863", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140402200488832, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 16:46:17,864", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140402200488832, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:46:17,864", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140402200488832, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 16:47:43,066", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:43,068", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'jyjy', 'token': '617f0227-5964-4965-8258-68a5bee70993', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:43,068", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Authentification demand\u00e9e pour jyjy", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:43,068", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Tentative d'authentification avec le token: 617f0227-5964-4965-8258-68a5bee70993 pour l'utilisateur: jyjy", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:43,075", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Utilisateur jyjy authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:43,075", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Envoi d'un message de type authenticated de jyjy dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:43,075", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Diffusion d'un message de jyjy \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:49,171", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:47:49,173", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'rrrr', 'token': 'e8036fd5-9934-4b77-94ad-a461ec535fdc', 'room': 'main_room'}", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:47:49,173", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Authentification demand\u00e9e pour rrrr", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:47:49,173", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Tentative d'authentification avec le token: e8036fd5-9934-4b77-94ad-a461ec535fdc pour l'utilisateur: rrrr", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:47:49,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Utilisateur rrrr authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:47:49,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Envoi d'un message de type authenticated de rrrr dans la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:47:49,179", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Diffusion d'un message de rrrr \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:49,180", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Diffusion d'un message de rrrr \u00e0 la room main_room: Authentication successful", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:47:57,734", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'jyjy', 'target_user': 'rrrr', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:57,734", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Invitation envoy\u00e9e de jyjy \u00e0 rrrr dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:57,734", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:57,735", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Diffusion d'un message de server \u00e0 la room main_room: jyjy a invit\u00e9 rrrr \u00e0 rejoindre une partie main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:57,735", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Diffusion d'un message de server \u00e0 la room main_room: jyjy a invit\u00e9 rrrr \u00e0 rejoindre une partie main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:47:57,735", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=jyjy, Room=main_room, Message=jyjy vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:47:57,735", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=jyjy, Room=main_room, Message=jyjy vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:48:00,365", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'rrrr', 'response': 'yes', 'inviter': 'jyjy', 'room': 'main_room'}", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:48:00,365", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "rrrr a r\u00e9pondu 'yes' \u00e0 l'invitation de jyjy", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:48:00,365", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:48:00,366", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Diffusion d'un message de server \u00e0 la room main_room: rrrr a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:48:00,366", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Diffusion d'un message de server \u00e0 la room main_room: rrrr a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:48:00,366", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=rrrr a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=jyjy", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:48:00,366", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=rrrr a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=jyjy", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:48:00,411", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:48:00,412", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'jyjy', 'token': '617f0227-5964-4965-8258-68a5bee70993', 'room': 'quick_match'}", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:48:00,412", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Authentification demand\u00e9e pour jyjy", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:48:00,412", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Tentative d'authentification avec le token: 617f0227-5964-4965-8258-68a5bee70993 pour l'utilisateur: jyjy", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:48:00,417", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Utilisateur jyjy authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:48:00,418", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Envoi d'un message de type authenticated de jyjy dans la room quick_match", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:48:00,418", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Diffusion d'un message de jyjy \u00e0 la room quick_match: Authentication successful", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:48:02,375", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-82"} +{"asctime": "2024-09-17 16:48:02,376", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'rrrr', 'token': 'e8036fd5-9934-4b77-94ad-a461ec535fdc', 'room': 'quick_match'}", "taskName": "Task-82"} +{"asctime": "2024-09-17 16:48:02,376", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Authentification demand\u00e9e pour rrrr", "taskName": "Task-82"} +{"asctime": "2024-09-17 16:48:02,377", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Tentative d'authentification avec le token: e8036fd5-9934-4b77-94ad-a461ec535fdc pour l'utilisateur: rrrr", "taskName": "Task-82"} +{"asctime": "2024-09-17 16:48:02,382", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Utilisateur rrrr authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-82"} +{"asctime": "2024-09-17 16:48:02,383", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Envoi d'un message de type authenticated de rrrr dans la room quick_match", "taskName": "Task-82"} +{"asctime": "2024-09-17 16:48:02,383", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Diffusion d'un message de rrrr \u00e0 la room quick_match: Authentication successful", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:48:02,383", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140402200488832, "message": "Diffusion d'un message de rrrr \u00e0 la room quick_match: Authentication successful", "taskName": "Task-82"} +{"asctime": "2024-09-17 16:49:07,522", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139731657915264, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 16:49:07,525", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139731657915264, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:49:07,525", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139731657915264, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 16:49:07,525", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139731657915264, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:49:07,525", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139731657915264, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 16:51:01,055", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140071986346880, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 16:51:01,059", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140071986346880, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:51:01,059", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140071986346880, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 16:51:01,059", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140071986346880, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:51:01,060", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140071986346880, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 16:51:31,391", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140541655489408, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 16:51:31,394", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140541655489408, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:51:31,394", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140541655489408, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 16:51:31,394", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140541655489408, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:51:31,395", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140541655489408, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 16:52:06,612", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:06,614", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'hu', 'token': '59ce8cfd-feeb-47a5-99d5-707559266d38', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:06,614", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Authentification demand\u00e9e pour hu", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:06,614", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Tentative d'authentification avec le token: 59ce8cfd-feeb-47a5-99d5-707559266d38 pour l'utilisateur: hu", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:06,620", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Utilisateur hu authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:06,620", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Envoi d'un message de type authenticated de hu dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:06,621", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de hu \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:14,204", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:14,205", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ki', 'token': 'f9c951f3-7d0a-4f3b-8ea9-8ae396cc9472', 'room': 'main_room'}", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:14,205", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Authentification demand\u00e9e pour ki", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:14,205", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Tentative d'authentification avec le token: f9c951f3-7d0a-4f3b-8ea9-8ae396cc9472 pour l'utilisateur: ki", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:14,211", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Utilisateur ki authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:14,211", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Envoi d'un message de type authenticated de ki dans la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:14,211", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de ki \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:14,211", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de ki \u00e0 la room main_room: Authentication successful", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:16,954", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'ki', 'message': 'hthth', 'room': 'main_room'}", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:16,954", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Message de chat envoy\u00e9 par ki: hthth", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:16,954", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Envoi d'un message de type chat_message de ki dans la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:16,954", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de ki \u00e0 la room main_room: hthth", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:16,954", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de ki \u00e0 la room main_room: hthth", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:24,260", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'hu', 'target_user': 'ki', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:24,260", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Invitation envoy\u00e9e de hu \u00e0 ki dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:24,260", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:24,261", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de server \u00e0 la room main_room: hu a invit\u00e9 ki \u00e0 rejoindre une partie main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:24,261", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de server \u00e0 la room main_room: hu a invit\u00e9 ki \u00e0 rejoindre une partie main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:24,261", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=hu, Room=main_room, Message=hu vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:24,261", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=hu, Room=main_room, Message=hu vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:27,034", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'ki', 'response': 'yes', 'inviter': 'hu', 'room': 'main_room'}", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:27,034", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "ki a r\u00e9pondu 'yes' \u00e0 l'invitation de hu", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:27,034", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:27,034", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de server \u00e0 la room main_room: ki a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:27,034", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de server \u00e0 la room main_room: ki a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:27,035", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=ki a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=hu", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:52:27,035", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=ki a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=hu", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:52:27,093", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-79"} +{"asctime": "2024-09-17 16:52:27,095", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'hu', 'token': '59ce8cfd-feeb-47a5-99d5-707559266d38', 'room': 'quick_match'}", "taskName": "Task-79"} +{"asctime": "2024-09-17 16:52:27,095", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Authentification demand\u00e9e pour hu", "taskName": "Task-79"} +{"asctime": "2024-09-17 16:52:27,095", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Tentative d'authentification avec le token: 59ce8cfd-feeb-47a5-99d5-707559266d38 pour l'utilisateur: hu", "taskName": "Task-79"} +{"asctime": "2024-09-17 16:52:27,100", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Utilisateur hu authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-79"} +{"asctime": "2024-09-17 16:52:27,100", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Envoi d'un message de type authenticated de hu dans la room quick_match", "taskName": "Task-79"} +{"asctime": "2024-09-17 16:52:27,101", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de hu \u00e0 la room quick_match: Authentication successful", "taskName": "Task-79"} +{"asctime": "2024-09-17 16:52:29,049", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-89"} +{"asctime": "2024-09-17 16:52:29,051", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ki', 'token': 'f9c951f3-7d0a-4f3b-8ea9-8ae396cc9472', 'room': 'quick_match'}", "taskName": "Task-89"} +{"asctime": "2024-09-17 16:52:29,051", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Authentification demand\u00e9e pour ki", "taskName": "Task-89"} +{"asctime": "2024-09-17 16:52:29,051", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Tentative d'authentification avec le token: f9c951f3-7d0a-4f3b-8ea9-8ae396cc9472 pour l'utilisateur: ki", "taskName": "Task-89"} +{"asctime": "2024-09-17 16:52:29,057", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Utilisateur ki authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-89"} +{"asctime": "2024-09-17 16:52:29,057", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Envoi d'un message de type authenticated de ki dans la room quick_match", "taskName": "Task-89"} +{"asctime": "2024-09-17 16:52:29,057", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de ki \u00e0 la room quick_match: Authentication successful", "taskName": "Task-79"} +{"asctime": "2024-09-17 16:52:29,057", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140541655489408, "message": "Diffusion d'un message de ki \u00e0 la room quick_match: Authentication successful", "taskName": "Task-89"} +{"asctime": "2024-09-17 16:54:18,036", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140206046624640, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 16:54:18,038", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140206046624640, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:54:18,039", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140206046624640, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 16:54:18,039", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140206046624640, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 16:54:18,039", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140206046624640, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 16:54:48,077", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:54:48,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'b', 'token': 'e513f000-496a-4660-8af1-cbfcf2770e05', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:54:48,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Authentification demand\u00e9e pour b", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:54:48,082", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Tentative d'authentification avec le token: e513f000-496a-4660-8af1-cbfcf2770e05 pour l'utilisateur: b", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:54:48,089", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Utilisateur b authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:54:48,089", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Envoi d'un message de type authenticated de b dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:54:48,089", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Diffusion d'un message de b \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:54:53,566", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:54:53,568", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'f', 'token': '1c232b79-3f27-48ea-bc44-97862ad56fcf', 'room': 'main_room'}", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:54:53,568", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Authentification demand\u00e9e pour f", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:54:53,568", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Tentative d'authentification avec le token: 1c232b79-3f27-48ea-bc44-97862ad56fcf pour l'utilisateur: f", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:54:53,574", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Utilisateur f authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:54:53,574", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Envoi d'un message de type authenticated de f dans la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:54:53,574", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Diffusion d'un message de f \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:54:53,574", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Diffusion d'un message de f \u00e0 la room main_room: Authentication successful", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:55:01,609", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'b', 'target_user': 'f', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:55:01,609", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Invitation envoy\u00e9e de b \u00e0 f dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:55:01,609", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:55:01,609", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Diffusion d'un message de server \u00e0 la room main_room: b a invit\u00e9 f \u00e0 rejoindre une partie main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:55:01,609", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Diffusion d'un message de server \u00e0 la room main_room: b a invit\u00e9 f \u00e0 rejoindre une partie main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:55:01,610", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=b, Room=main_room, Message=b vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:55:01,610", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=b, Room=main_room, Message=b vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:55:04,124", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'f', 'response': 'yes', 'inviter': 'b', 'room': 'main_room'}", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:55:04,124", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "f a r\u00e9pondu 'yes' \u00e0 l'invitation de b", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:55:04,124", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:55:04,124", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Diffusion d'un message de server \u00e0 la room main_room: f a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:55:04,124", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Diffusion d'un message de server \u00e0 la room main_room: f a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:55:04,125", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=f a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=b", "taskName": "Task-29"} +{"asctime": "2024-09-17 16:55:04,125", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=f a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=b", "taskName": "Task-59"} +{"asctime": "2024-09-17 16:55:04,180", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:55:04,182", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'b', 'token': 'e513f000-496a-4660-8af1-cbfcf2770e05', 'room': 'quick_match'}", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:55:04,182", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Authentification demand\u00e9e pour b", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:55:04,182", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Tentative d'authentification avec le token: e513f000-496a-4660-8af1-cbfcf2770e05 pour l'utilisateur: b", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:55:04,187", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Utilisateur b authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:55:04,188", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Envoi d'un message de type authenticated de b dans la room quick_match", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:55:04,188", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Diffusion d'un message de b \u00e0 la room quick_match: Authentication successful", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:55:06,127", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-86"} +{"asctime": "2024-09-17 16:55:06,129", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'f', 'token': '1c232b79-3f27-48ea-bc44-97862ad56fcf', 'room': 'quick_match'}", "taskName": "Task-86"} +{"asctime": "2024-09-17 16:55:06,129", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Authentification demand\u00e9e pour f", "taskName": "Task-86"} +{"asctime": "2024-09-17 16:55:06,129", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Tentative d'authentification avec le token: 1c232b79-3f27-48ea-bc44-97862ad56fcf pour l'utilisateur: f", "taskName": "Task-86"} +{"asctime": "2024-09-17 16:55:06,136", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Utilisateur f authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-86"} +{"asctime": "2024-09-17 16:55:06,136", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Envoi d'un message de type authenticated de f dans la room quick_match", "taskName": "Task-86"} +{"asctime": "2024-09-17 16:55:06,136", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Diffusion d'un message de f \u00e0 la room quick_match: Authentication successful", "taskName": "Task-76"} +{"asctime": "2024-09-17 16:55:06,137", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140206046624640, "message": "Diffusion d'un message de f \u00e0 la room quick_match: Authentication successful", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:02:44,365", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140002222574464, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 17:02:44,368", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140002222574464, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:02:44,368", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140002222574464, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 17:02:44,368", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140002222574464, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:02:44,369", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140002222574464, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 17:03:22,857", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:22,863", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'hhhh', 'token': '566991ff-d676-4688-97f6-0c71cc6bc7ef', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:22,863", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Authentification demand\u00e9e pour hhhh", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:22,863", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Tentative d'authentification avec le token: 566991ff-d676-4688-97f6-0c71cc6bc7ef pour l'utilisateur: hhhh", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:22,871", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Utilisateur hhhh authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:22,871", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Envoi d'un message de type authenticated de hhhh dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:22,871", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Diffusion d'un message de hhhh \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:30,050", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:30,051", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'gzgfz', 'token': '1c8fee67-1f76-4d85-9e26-c78cdc1b5837', 'room': 'main_room'}", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:30,052", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Authentification demand\u00e9e pour gzgfz", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:30,052", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Tentative d'authentification avec le token: 1c8fee67-1f76-4d85-9e26-c78cdc1b5837 pour l'utilisateur: gzgfz", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:30,057", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Utilisateur gzgfz authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:30,057", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Envoi d'un message de type authenticated de gzgfz dans la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:30,058", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Diffusion d'un message de gzgfz \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:30,058", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Diffusion d'un message de gzgfz \u00e0 la room main_room: Authentication successful", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:46,651", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'hhhh', 'target_user': 'gzgfz', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:46,652", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Invitation envoy\u00e9e de hhhh \u00e0 gzgfz dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:46,652", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:46,652", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Diffusion d'un message de server \u00e0 la room main_room: hhhh a invit\u00e9 gzgfz \u00e0 rejoindre une partie main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:46,652", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Diffusion d'un message de server \u00e0 la room main_room: hhhh a invit\u00e9 gzgfz \u00e0 rejoindre une partie main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:46,652", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=hhhh, Room=main_room, Message=hhhh vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:46,653", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=hhhh, Room=main_room, Message=hhhh vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:49,439", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'gzgfz', 'response': 'yes', 'inviter': 'hhhh', 'room': 'main_room'}", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:49,439", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "gzgfz a r\u00e9pondu 'yes' \u00e0 l'invitation de hhhh", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:49,439", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:49,439", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Diffusion d'un message de server \u00e0 la room main_room: gzgfz a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:49,439", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Diffusion d'un message de server \u00e0 la room main_room: gzgfz a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:49,440", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=gzgfz a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=hhhh", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:03:49,440", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=gzgfz a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=hhhh", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:03:49,494", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:03:49,495", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'hhhh', 'token': '566991ff-d676-4688-97f6-0c71cc6bc7ef', 'room': 'quick_match'}", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:03:49,495", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Authentification demand\u00e9e pour hhhh", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:03:49,495", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Tentative d'authentification avec le token: 566991ff-d676-4688-97f6-0c71cc6bc7ef pour l'utilisateur: hhhh", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:03:49,500", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Utilisateur hhhh authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:03:49,501", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Envoi d'un message de type authenticated de hhhh dans la room quick_match", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:03:49,501", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Diffusion d'un message de hhhh \u00e0 la room quick_match: Authentication successful", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:03:51,443", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:03:51,444", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'gzgfz', 'token': '1c8fee67-1f76-4d85-9e26-c78cdc1b5837', 'room': 'quick_match'}", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:03:51,444", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Authentification demand\u00e9e pour gzgfz", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:03:51,444", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Tentative d'authentification avec le token: 1c8fee67-1f76-4d85-9e26-c78cdc1b5837 pour l'utilisateur: gzgfz", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:03:51,451", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Utilisateur gzgfz authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:03:51,451", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Envoi d'un message de type authenticated de gzgfz dans la room quick_match", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:03:51,452", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Diffusion d'un message de gzgfz \u00e0 la room quick_match: Authentication successful", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:03:51,452", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140002222574464, "message": "Diffusion d'un message de gzgfz \u00e0 la room quick_match: Authentication successful", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:05:01,220", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139644976737152, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 17:05:01,224", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139644976737152, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:05:01,224", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139644976737152, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 17:05:01,224", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139644976737152, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:05:01,225", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139644976737152, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 17:05:37,249", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:37,250", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'yolo', 'token': 'c3973a8a-5018-4077-ac86-961bc52d4476', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:37,250", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Authentification demand\u00e9e pour yolo", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:37,250", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Tentative d'authentification avec le token: c3973a8a-5018-4077-ac86-961bc52d4476 pour l'utilisateur: yolo", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:37,256", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Utilisateur yolo authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:37,256", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Envoi d'un message de type authenticated de yolo dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:37,256", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de yolo \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:44,900", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:44,901", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'yala', 'token': '668efa56-ff87-49c6-bf4a-37c84133ffc1', 'room': 'main_room'}", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:44,901", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Authentification demand\u00e9e pour yala", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:44,901", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Tentative d'authentification avec le token: 668efa56-ff87-49c6-bf4a-37c84133ffc1 pour l'utilisateur: yala", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:44,907", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Utilisateur yala authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:44,907", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Envoi d'un message de type authenticated de yala dans la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:44,907", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de yala \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:44,907", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de yala \u00e0 la room main_room: Authentication successful", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:53,242", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'yolo', 'target_user': 'yala', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:53,242", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Invitation envoy\u00e9e de yolo \u00e0 yala dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:53,242", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:53,242", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room main_room: yolo a invit\u00e9 yala \u00e0 rejoindre une partie main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:53,242", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room main_room: yolo a invit\u00e9 yala \u00e0 rejoindre une partie main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:53,242", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=yolo, Room=main_room, Message=yolo vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:53,242", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=yolo, Room=main_room, Message=yolo vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:56,570", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'yala', 'response': 'yes', 'inviter': 'yolo', 'room': 'main_room'}", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:56,570", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "yala a r\u00e9pondu 'yes' \u00e0 l'invitation de yolo", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:56,570", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:56,570", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room main_room: yala a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:56,571", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room main_room: yala a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:56,571", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=yala a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=yolo", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:05:56,571", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=yala a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=yolo", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:05:56,627", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:05:56,629", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'yolo', 'token': 'c3973a8a-5018-4077-ac86-961bc52d4476', 'room': 'quick_match'}", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:05:56,629", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Authentification demand\u00e9e pour yolo", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:05:56,629", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Tentative d'authentification avec le token: c3973a8a-5018-4077-ac86-961bc52d4476 pour l'utilisateur: yolo", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:05:56,635", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Utilisateur yolo authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:05:56,635", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Envoi d'un message de type authenticated de yolo dans la room quick_match", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:05:56,635", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de yolo \u00e0 la room quick_match: Authentication successful", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:05:58,577", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:05:58,579", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'yala', 'token': '668efa56-ff87-49c6-bf4a-37c84133ffc1', 'room': 'quick_match'}", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:05:58,579", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Authentification demand\u00e9e pour yala", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:05:58,579", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Tentative d'authentification avec le token: 668efa56-ff87-49c6-bf4a-37c84133ffc1 pour l'utilisateur: yala", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:05:58,585", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Utilisateur yala authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:05:58,586", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Envoi d'un message de type authenticated de yala dans la room quick_match", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:05:58,586", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de yala \u00e0 la room quick_match: Authentication successful", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:05:58,586", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de yala \u00e0 la room quick_match: Authentication successful", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:29,656", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'yolo', 'message': 'bien jouer', 'room': 'quick_match'}", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:06:29,656", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message de chat envoy\u00e9 par yolo: bien jouer", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:06:29,656", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Envoi d'un message de type chat_message de yolo dans la room quick_match", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:06:29,657", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de yolo \u00e0 la room quick_match: bien jouer", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:06:29,657", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de yolo \u00e0 la room quick_match: bien jouer", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:45,899", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'yala', 'target_user': 'yala', 'room': 'quick_match'}", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:45,899", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Invitation envoy\u00e9e de yala \u00e0 yala dans la room quick_match", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:45,899", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Envoi d'un message de type chat_message de server dans la room quick_match", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:45,899", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room quick_match: yala a invit\u00e9 yala \u00e0 rejoindre une partie quick_match", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:06:45,899", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room quick_match: yala a invit\u00e9 yala \u00e0 rejoindre une partie quick_match", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:45,899", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=yala, Room=quick_match, Message=yala vous a invit\u00e9 \u00e0 rejoindre la room quick_match.", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:06:45,899", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=yala, Room=quick_match, Message=yala vous a invit\u00e9 \u00e0 rejoindre la room quick_match.", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:48,546", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'yala', 'response': 'no', 'inviter': 'yala', 'room': 'quick_match'}", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:48,546", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "yala a r\u00e9pondu 'no' \u00e0 l'invitation de yala", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:48,546", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Envoi d'un message de type chat_message de server dans la room quick_match", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:48,546", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room quick_match: yala a r\u00e9pondu no \u00e0 l'invitation.", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:06:48,546", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room quick_match: yala a r\u00e9pondu no \u00e0 l'invitation.", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:48,547", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=yala a r\u00e9pondu no \u00e0 l'invitation., Response=no, Inviter=yala", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:06:48,547", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=yala a r\u00e9pondu no \u00e0 l'invitation., Response=no, Inviter=yala", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:59,741", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'yala', 'target_user': 'yolo', 'room': 'quick_match'}", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:59,741", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Invitation envoy\u00e9e de yala \u00e0 yolo dans la room quick_match", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:59,743", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Envoi d'un message de type chat_message de server dans la room quick_match", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:59,743", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room quick_match: yala a invit\u00e9 yolo \u00e0 rejoindre une partie quick_match", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:06:59,743", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room quick_match: yala a invit\u00e9 yolo \u00e0 rejoindre une partie quick_match", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:06:59,744", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=yala, Room=quick_match, Message=yala vous a invit\u00e9 \u00e0 rejoindre la room quick_match.", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:06:59,744", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=yala, Room=quick_match, Message=yala vous a invit\u00e9 \u00e0 rejoindre la room quick_match.", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:07:02,412", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'yolo', 'response': 'yes', 'inviter': 'yala', 'room': 'quick_match'}", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:07:02,412", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "yolo a r\u00e9pondu 'yes' \u00e0 l'invitation de yala", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:07:02,412", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Envoi d'un message de type chat_message de server dans la room quick_match", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:07:02,412", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room quick_match: yolo a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:07:02,412", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "Diffusion d'un message de server \u00e0 la room quick_match: yolo a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:07:02,412", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=yolo a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=yala", "taskName": "Task-80"} +{"asctime": "2024-09-17 17:07:02,413", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139644976737152, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=yolo a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=yala", "taskName": "Task-92"} +{"asctime": "2024-09-17 17:10:40,779", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139893359061888, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 17:10:40,781", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139893359061888, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:10:40,781", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139893359061888, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 17:10:40,781", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139893359061888, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:10:40,782", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139893359061888, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 17:11:28,812", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:28,814", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'nhn', 'token': '30b91f20-e230-4817-b9a4-c1e0d9c9282f', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:28,815", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Authentification demand\u00e9e pour nhn", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:28,815", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Tentative d'authentification avec le token: 30b91f20-e230-4817-b9a4-c1e0d9c9282f pour l'utilisateur: nhn", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:28,821", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Utilisateur nhn authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:28,822", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type authenticated de nhn dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:28,822", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de nhn \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:36,779", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:36,782", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ny', 'token': '1230b0e1-ceee-40e3-94e7-aea3bcb22493', 'room': 'main_room'}", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:36,783", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Authentification demand\u00e9e pour ny", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:36,783", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Tentative d'authentification avec le token: 1230b0e1-ceee-40e3-94e7-aea3bcb22493 pour l'utilisateur: ny", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:36,789", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Utilisateur ny authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:36,789", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type authenticated de ny dans la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:36,789", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de ny \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:36,789", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de ny \u00e0 la room main_room: Authentication successful", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:47,850", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'ny', 'message': \"t't\", 'room': 'main_room'}", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:47,851", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message de chat envoy\u00e9 par ny: t't", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:47,851", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type chat_message de ny dans la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:47,851", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de ny \u00e0 la room main_room: t't", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:47,851", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de ny \u00e0 la room main_room: t't", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:51,676", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'chat_message', 'username': 'nhn', 'message': 'fef', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:51,676", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message de chat envoy\u00e9 par nhn: fef", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:51,676", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type chat_message de nhn dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:51,676", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de nhn \u00e0 la room main_room: fef", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:51,676", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de nhn \u00e0 la room main_room: fef", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:59,266", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'nhn', 'target_user': 'ny', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:59,266", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Invitation envoy\u00e9e de nhn \u00e0 ny dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:59,266", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:59,266", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de server \u00e0 la room main_room: nhn a invit\u00e9 ny \u00e0 rejoindre une partie main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:59,266", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de server \u00e0 la room main_room: nhn a invit\u00e9 ny \u00e0 rejoindre une partie main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:11:59,266", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=nhn, Room=main_room, Message=nhn vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:11:59,266", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=nhn, Room=main_room, Message=nhn vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:01,944", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'ny', 'response': 'yes', 'inviter': 'nhn', 'room': 'main_room'}", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:01,944", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "ny a r\u00e9pondu 'yes' \u00e0 l'invitation de nhn", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:01,944", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:01,944", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de server \u00e0 la room main_room: ny a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:12:01,944", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de server \u00e0 la room main_room: ny a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:01,944", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=ny a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=nhn", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:12:01,945", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=ny a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=nhn", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:01,989", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:12:01,991", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'nhn', 'token': '30b91f20-e230-4817-b9a4-c1e0d9c9282f', 'room': 'quick_match'}", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:12:01,991", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Authentification demand\u00e9e pour nhn", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:12:01,991", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Tentative d'authentification avec le token: 30b91f20-e230-4817-b9a4-c1e0d9c9282f pour l'utilisateur: nhn", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:12:01,996", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Utilisateur nhn authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:12:01,996", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type authenticated de nhn dans la room quick_match", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:12:01,997", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de nhn \u00e0 la room quick_match: Authentication successful", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:12:03,953", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Connexion de l'utilisateur \u00e0 la room quick_match", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:12:03,955", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ny', 'token': '1230b0e1-ceee-40e3-94e7-aea3bcb22493', 'room': 'quick_match'}", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:12:03,955", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Authentification demand\u00e9e pour ny", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:12:03,955", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Tentative d'authentification avec le token: 1230b0e1-ceee-40e3-94e7-aea3bcb22493 pour l'utilisateur: ny", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:12:03,962", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Utilisateur ny authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:12:03,962", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type authenticated de ny dans la room quick_match", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:12:03,962", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de ny \u00e0 la room quick_match: Authentication successful", "taskName": "Task-86"} +{"asctime": "2024-09-17 17:12:03,962", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de ny \u00e0 la room quick_match: Authentication successful", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:12:43,479", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'invite', 'username': 'ny', 'target_user': 'nhn', 'room': 'main_room'}", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:43,479", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Invitation envoy\u00e9e de ny \u00e0 nhn dans la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:43,479", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:43,480", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de server \u00e0 la room main_room: ny a invit\u00e9 nhn \u00e0 rejoindre une partie main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:12:43,480", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de server \u00e0 la room main_room: ny a invit\u00e9 nhn \u00e0 rejoindre une partie main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:43,480", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=ny, Room=main_room, Message=ny vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:12:43,480", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "invite: Envoi de l'invitation \u00e0 l'utilisateur via WebSocket. Inviter=ny, Room=main_room, Message=ny vous a invit\u00e9 \u00e0 rejoindre la room main_room.", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:47,583", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'invite_response', 'username': 'nhn', 'response': 'yes', 'inviter': 'ny', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:12:47,583", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "nhn a r\u00e9pondu 'yes' \u00e0 l'invitation de ny", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:12:47,583", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type chat_message de server dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:12:47,583", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de server \u00e0 la room main_room: nhn a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:12:47,583", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de server \u00e0 la room main_room: nhn a r\u00e9pondu yes \u00e0 l'invitation.", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:12:47,583", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=nhn a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=ny", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:12:47,583", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "invite_response: Envoi de la r\u00e9ponse \u00e0 l'invitation via WebSocket. Message=nhn a r\u00e9pondu yes \u00e0 l'invitation., Response=yes, Inviter=ny", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:14:27,986", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-183"} +{"asctime": "2024-09-17 17:14:27,987", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'fefe', 'token': 'f26281c5-39e3-4b09-9910-aaada456aac9', 'room': 'main_room'}", "taskName": "Task-183"} +{"asctime": "2024-09-17 17:14:27,987", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Authentification demand\u00e9e pour fefe", "taskName": "Task-183"} +{"asctime": "2024-09-17 17:14:27,988", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Tentative d'authentification avec le token: f26281c5-39e3-4b09-9910-aaada456aac9 pour l'utilisateur: fefe", "taskName": "Task-183"} +{"asctime": "2024-09-17 17:14:27,993", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Utilisateur fefe authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-183"} +{"asctime": "2024-09-17 17:14:27,993", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type authenticated de fefe dans la room main_room", "taskName": "Task-183"} +{"asctime": "2024-09-17 17:14:27,993", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de fefe \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:14:27,993", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de fefe \u00e0 la room main_room: Authentication successful", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:14:27,994", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de fefe \u00e0 la room main_room: Authentication successful", "taskName": "Task-183"} +{"asctime": "2024-09-17 17:14:28,651", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Connexion de l'utilisateur \u00e0 la room tournament", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:28,652", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'fefe', 'token': 'f26281c5-39e3-4b09-9910-aaada456aac9', 'room': 'tournament'}", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:28,653", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Authentification demand\u00e9e pour fefe", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:28,653", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Tentative d'authentification avec le token: f26281c5-39e3-4b09-9910-aaada456aac9 pour l'utilisateur: fefe", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:28,659", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Utilisateur fefe authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:28,659", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type authenticated de fefe dans la room tournament", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:28,659", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de fefe \u00e0 la room tournament: Authentication successful", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:33,204", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Connexion de l'utilisateur \u00e0 la room tournament", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:33,205", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ny', 'token': '1230b0e1-ceee-40e3-94e7-aea3bcb22493', 'room': 'tournament'}", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:33,205", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Authentification demand\u00e9e pour ny", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:33,205", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Tentative d'authentification avec le token: 1230b0e1-ceee-40e3-94e7-aea3bcb22493 pour l'utilisateur: ny", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:33,211", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Utilisateur ny authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:33,211", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type authenticated de ny dans la room tournament", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:33,211", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de ny \u00e0 la room tournament: Authentication successful", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:33,211", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de ny \u00e0 la room tournament: Authentication successful", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:42,810", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Connexion de l'utilisateur \u00e0 la room tournament", "taskName": "Task-214"} +{"asctime": "2024-09-17 17:14:42,811", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'nhn', 'token': '30b91f20-e230-4817-b9a4-c1e0d9c9282f', 'room': 'tournament'}", "taskName": "Task-214"} +{"asctime": "2024-09-17 17:14:42,811", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Authentification demand\u00e9e pour nhn", "taskName": "Task-214"} +{"asctime": "2024-09-17 17:14:42,812", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Tentative d'authentification avec le token: 30b91f20-e230-4817-b9a4-c1e0d9c9282f pour l'utilisateur: nhn", "taskName": "Task-214"} +{"asctime": "2024-09-17 17:14:42,819", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Utilisateur nhn authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-214"} +{"asctime": "2024-09-17 17:14:42,819", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type authenticated de nhn dans la room tournament", "taskName": "Task-214"} +{"asctime": "2024-09-17 17:14:42,819", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de nhn \u00e0 la room tournament: Authentication successful", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:42,819", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de nhn \u00e0 la room tournament: Authentication successful", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:42,819", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de nhn \u00e0 la room tournament: Authentication successful", "taskName": "Task-214"} +{"asctime": "2024-09-17 17:14:57,872", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'chat_message', 'message': 'Prochain match: nhn contre ny', 'username': 'Server', 'room': 'tournament'}", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:57,872", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message de chat envoy\u00e9 par Server: Prochain match: nhn contre ny", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:57,872", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type chat_message de Server dans la room tournament", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:57,872", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'chat_message', 'message': 'Prochain match: fefe contre Bot', 'username': 'Server', 'room': 'tournament'}", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:57,872", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message de chat envoy\u00e9 par Server: Prochain match: fefe contre Bot", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:57,872", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type chat_message de Server dans la room tournament", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:57,872", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: nhn contre ny", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:57,873", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: nhn contre ny", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:57,873", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: nhn contre ny", "taskName": "Task-214"} +{"asctime": "2024-09-17 17:14:57,874", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: fefe contre Bot", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:14:57,874", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: fefe contre Bot", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:14:57,874", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: fefe contre Bot", "taskName": "Task-214"} +{"asctime": "2024-09-17 17:15:13,907", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message re\u00e7u: {'type': 'chat_message', 'message': 'Prochain match: ny contre fefe', 'username': 'Server', 'room': 'tournament'}", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:15:13,908", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Message de chat envoy\u00e9 par Server: Prochain match: ny contre fefe", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:15:13,908", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Envoi d'un message de type chat_message de Server dans la room tournament", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:15:13,908", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: ny contre fefe", "taskName": "Task-191"} +{"asctime": "2024-09-17 17:15:13,908", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: ny contre fefe", "taskName": "Task-202"} +{"asctime": "2024-09-17 17:15:13,908", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139893359061888, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: ny contre fefe", "taskName": "Task-214"} +{"asctime": "2024-09-17 17:17:02,756", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 17, "thread": 140063179438976, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 17:17:02,759", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 17, "thread": 140063179438976, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:17:02,759", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 17, "thread": 140063179438976, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 17:17:02,759", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 17, "thread": 140063179438976, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:17:02,759", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 17, "thread": 140063179438976, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 17:20:36,530", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 139940827048832, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 17:20:36,533", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 139940827048832, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:20:36,533", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139940827048832, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 17:20:36,533", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139940827048832, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:20:36,533", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 139940827048832, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 17:21:12,698", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:21:12,700", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'hhh', 'token': '9bfaef30-4dfc-4a75-a2de-fb669da1d1c9', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:21:12,700", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Authentification demand\u00e9e pour hhh", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:21:12,700", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Tentative d'authentification avec le token: 9bfaef30-4dfc-4a75-a2de-fb669da1d1c9 pour l'utilisateur: hhh", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:21:12,706", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Utilisateur hhh authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:21:12,706", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Envoi d'un message de type authenticated de hhh dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:21:12,706", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de hhh \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:21:19,037", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:21:19,039", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '443a81c5-154e-47ee-b5f4-9ab0f00184d8', 'room': 'main_room'}", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:21:19,039", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:21:19,039", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Tentative d'authentification avec le token: 443a81c5-154e-47ee-b5f4-9ab0f00184d8 pour l'utilisateur: g", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:21:19,046", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:21:19,046", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Envoi d'un message de type authenticated de g dans la room main_room", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:21:19,046", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:21:19,047", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de g \u00e0 la room main_room: Authentication successful", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:21:27,995", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:21:27,996", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'h', 'token': '5ed21c88-0178-4fbe-b58a-2770bd046f10', 'room': 'main_room'}", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:21:27,997", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Authentification demand\u00e9e pour h", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:21:27,997", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Tentative d'authentification avec le token: 5ed21c88-0178-4fbe-b58a-2770bd046f10 pour l'utilisateur: h", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:21:28,002", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Utilisateur h authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:21:28,002", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Envoi d'un message de type authenticated de h dans la room main_room", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:21:28,002", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:21:28,003", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-63"} +{"asctime": "2024-09-17 17:21:28,003", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de h \u00e0 la room main_room: Authentication successful", "taskName": "Task-98"} +{"asctime": "2024-09-17 17:21:30,284", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Connexion de l'utilisateur \u00e0 la room tournament", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:30,285", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'h', 'token': '5ed21c88-0178-4fbe-b58a-2770bd046f10', 'room': 'tournament'}", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:30,285", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Authentification demand\u00e9e pour h", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:30,285", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Tentative d'authentification avec le token: 5ed21c88-0178-4fbe-b58a-2770bd046f10 pour l'utilisateur: h", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:30,291", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Utilisateur h authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:30,291", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Envoi d'un message de type authenticated de h dans la room tournament", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:30,291", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de h \u00e0 la room tournament: Authentication successful", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:32,562", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Connexion de l'utilisateur \u00e0 la room tournament", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:32,564", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'g', 'token': '443a81c5-154e-47ee-b5f4-9ab0f00184d8', 'room': 'tournament'}", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:32,564", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Authentification demand\u00e9e pour g", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:32,564", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Tentative d'authentification avec le token: 443a81c5-154e-47ee-b5f4-9ab0f00184d8 pour l'utilisateur: g", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:32,570", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Utilisateur g authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:32,570", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Envoi d'un message de type authenticated de g dans la room tournament", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:32,570", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de g \u00e0 la room tournament: Authentication successful", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:32,570", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de g \u00e0 la room tournament: Authentication successful", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:34,507", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Connexion de l'utilisateur \u00e0 la room tournament", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:34,509", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'hhh', 'token': '9bfaef30-4dfc-4a75-a2de-fb669da1d1c9', 'room': 'tournament'}", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:34,510", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Authentification demand\u00e9e pour hhh", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:34,510", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Tentative d'authentification avec le token: 9bfaef30-4dfc-4a75-a2de-fb669da1d1c9 pour l'utilisateur: hhh", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:34,515", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Utilisateur hhh authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:34,515", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Envoi d'un message de type authenticated de hhh dans la room tournament", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:34,516", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de hhh \u00e0 la room tournament: Authentication successful", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:34,516", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de hhh \u00e0 la room tournament: Authentication successful", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:34,516", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de hhh \u00e0 la room tournament: Authentication successful", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:36,544", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message re\u00e7u: {'type': 'chat_message', 'message': 'Prochain match: h contre g', 'username': 'Server', 'room': 'tournament'}", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:36,544", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message de chat envoy\u00e9 par Server: Prochain match: h contre g", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:36,544", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Envoi d'un message de type chat_message de Server dans la room tournament", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:36,544", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: h contre g", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:36,544", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: h contre g", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:36,544", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message re\u00e7u: {'type': 'chat_message', 'message': 'Prochain match: hhh contre Bot', 'username': 'Server', 'room': 'tournament'}", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:36,544", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message de chat envoy\u00e9 par Server: Prochain match: hhh contre Bot", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:36,545", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Envoi d'un message de type chat_message de Server dans la room tournament", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:36,545", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: h contre g", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:36,546", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: hhh contre Bot", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:36,546", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: hhh contre Bot", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:36,546", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: hhh contre Bot", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:50,576", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message re\u00e7u: {'type': 'chat_message', 'message': 'Prochain match: g contre hhh', 'username': 'Server', 'room': 'tournament'}", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:50,576", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Message de chat envoy\u00e9 par Server: Prochain match: g contre hhh", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:50,576", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Envoi d'un message de type chat_message de Server dans la room tournament", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:21:50,577", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: g contre hhh", "taskName": "Task-106"} +{"asctime": "2024-09-17 17:21:50,577", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: g contre hhh", "taskName": "Task-117"} +{"asctime": "2024-09-17 17:21:50,577", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 139940827048832, "message": "Diffusion d'un message de Server \u00e0 la room tournament: Prochain match: g contre hhh", "taskName": "Task-129"} +{"asctime": "2024-09-17 17:25:31,575", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140719840488320, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 17:25:31,577", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140719840488320, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:25:31,578", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140719840488320, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 17:25:31,578", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140719840488320, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:25:31,578", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140719840488320, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 17:25:53,181", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140719840488320, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:25:53,182", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140719840488320, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ggg', 'token': '0b68244e-67bf-4a82-b009-4dd86d89a6a2', 'room': 'main_room'}", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:25:53,182", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140719840488320, "message": "Authentification demand\u00e9e pour ggg", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:25:53,182", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140719840488320, "message": "Tentative d'authentification avec le token: 0b68244e-67bf-4a82-b009-4dd86d89a6a2 pour l'utilisateur: ggg", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:25:53,189", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140719840488320, "message": "Utilisateur ggg authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:25:53,189", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140719840488320, "message": "Envoi d'un message de type authenticated de ggg dans la room main_room", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:25:53,189", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140719840488320, "message": "Diffusion d'un message de ggg \u00e0 la room main_room: Authentication successful", "taskName": "Task-29"} +{"asctime": "2024-09-17 17:30:10,455", "levelname": "INFO", "name": "pong.game.routing", "module": "routing", "process": 18, "thread": 140512702421888, "message": "WebSocket routing patterns configured successfully", "taskName": null} +{"asctime": "2024-09-17 17:30:10,457", "levelname": "INFO", "name": "daphne.cli", "module": "cli", "process": 18, "thread": 140512702421888, "message": "Starting server at tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:30:10,458", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140512702421888, "message": "HTTP/2 support not enabled (install the http2 and tls Twisted extras)", "taskName": null} +{"asctime": "2024-09-17 17:30:10,458", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140512702421888, "message": "Configuring endpoint tcp:port=8080:interface=0.0.0.0", "taskName": null} +{"asctime": "2024-09-17 17:30:10,458", "levelname": "INFO", "name": "daphne.server", "module": "server", "process": 18, "thread": 140512702421888, "message": "Listening on TCP address 0.0.0.0:8080", "taskName": null} +{"asctime": "2024-09-17 17:31:04,685", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140512702421888, "message": "Connexion de l'utilisateur \u00e0 la room main_room", "taskName": "Task-33"} +{"asctime": "2024-09-17 17:31:04,687", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140512702421888, "message": "Message re\u00e7u: {'type': 'authenticate', 'username': 'ffe', 'token': '45c53dc1-7506-4be6-ab08-8c11d08661b6', 'room': 'main_room'}", "taskName": "Task-33"} +{"asctime": "2024-09-17 17:31:04,687", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140512702421888, "message": "Authentification demand\u00e9e pour ffe", "taskName": "Task-33"} +{"asctime": "2024-09-17 17:31:04,687", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140512702421888, "message": "Tentative d'authentification avec le token: 45c53dc1-7506-4be6-ab08-8c11d08661b6 pour l'utilisateur: ffe", "taskName": "Task-33"} +{"asctime": "2024-09-17 17:31:04,693", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140512702421888, "message": "Utilisateur ffe authentifi\u00e9 avec succ\u00e8s", "taskName": "Task-33"} +{"asctime": "2024-09-17 17:31:04,693", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140512702421888, "message": "Envoi d'un message de type authenticated de ffe dans la room main_room", "taskName": "Task-33"} +{"asctime": "2024-09-17 17:31:04,694", "levelname": "INFO", "name": "pong.game.consumers", "module": "consumers", "process": 18, "thread": 140512702421888, "message": "Diffusion d'un message de ffe \u00e0 la room main_room: Authentication successful", "taskName": "Task-33"} diff --git a/logs/django_errors.log b/logs/django_errors.log new file mode 100644 index 0000000..e69de29 diff --git a/makefile b/makefile index e345267..f2da209 100644 --- a/makefile +++ b/makefile @@ -81,3 +81,4 @@ help: .PHONY: up build start stop down destroy logs ps db-shell help + diff --git a/pong/asgi.py b/pong/asgi.py index 3a8dc68..903ead5 100644 --- a/pong/asgi.py +++ b/pong/asgi.py @@ -28,3 +28,4 @@ application = ProtocolTypeRouter({ ) ), }) + diff --git a/pong/game/consumers.py b/pong/game/consumers.py index 8412496..2c69ac8 100644 --- a/pong/game/consumers.py +++ b/pong/game/consumers.py @@ -1,106 +1,418 @@ -# /pong/game/consumers.py - import json from channels.generic.websocket import AsyncWebsocketConsumer +from asgiref.sync import sync_to_async from django.contrib.auth.models import User from channels.db import database_sync_to_async from .matchmaking import match_maker from .tournament import tournament_match_maker +from .models import Player import asyncio +import logging + +logger = logging.getLogger(__name__) class GameConsumer(AsyncWebsocketConsumer): - async def connect(self): - await self.accept() - self.game = None - print("User connected") + async def connect(self): + await self.accept() + self.game = None + print("User connected") - async def receive(self, text_data): - data = json.loads(text_data) - if data['type'] == 'authenticate': - await self.authenticate(data['token']) - elif data['type'] == 'authenticate2': - await self.authenticate2(data['token_1'], data['token_2']) - elif data['type'] == 'authenticate3': - await self.authenticate3(data['token']) - elif data['type'] == 'key_press': - if self.game: - await self.game.handle_key_press(self, data['key']) - elif data['type'] == 'start_tournament': - print(f"Start TOURNAMENT received by {self.user}") - # Run the tournament in the background - asyncio.create_task(tournament_match_maker.start_tournament()) + async def receive(self, text_data): + data = json.loads(text_data) + if data['type'] == 'authenticate': + await self.authenticate(data['token']) + elif data['type'] == 'authenticate2': + await self.authenticate2(data['token_1'], data['token_2']) + elif data['type'] == 'authenticate3': + await self.authenticate3(data['token']) + elif data['type'] == 'key_press': + if self.game: + await self.game.handle_key_press(self, data['key']) + elif data['type'] == 'start_tournament': + print(f"Start TOURNAMENT received by {self.user}") + # Run the tournament in the background + asyncio.create_task(tournament_match_maker.start_tournament()) - async def authenticate(self, token): - user = await self.get_user_from_token(token) - if user: - self.user = user - await self.send(text_data=json.dumps({'type': 'authenticated'})) - print(f"User {self.user} authenticated") - await self.join_waiting_room() - else: - await self.send(text_data=json.dumps({'type': 'error', 'message': 'Authentication failed'})) - print("Authentication failed") + async def authenticate(self, token): + user = await self.get_user_from_token(token) + if user: + self.user = user + await self.send(text_data=json.dumps({'type': 'authenticated'})) + print(f"User {self.user} authenticated") + await self.join_waiting_room() + else: + await self.send(text_data=json.dumps({'type': 'error', 'message': 'Authentication failed'})) + print("Authentication failed") - @database_sync_to_async - def get_user_from_token(self, token): - try: - user = User.objects.filter(auth_token=token).first() - return user - except User.DoesNotExist: - return None + @database_sync_to_async + def get_user_from_token(self, token): + try: + user = User.objects.filter(auth_token=token).first() + return user + except User.DoesNotExist: + return None - async def join_waiting_room(self): - await self.send(text_data=json.dumps({'type': 'waiting_room'})) - await match_maker.add_player(self) + async def join_waiting_room(self): + await self.send(text_data=json.dumps({'type': 'waiting_room'})) + await match_maker.add_player(self) - async def authenticate2(self, token, token2): - user = await self.get_user_from_token(token) - if user: - self.user = user - await self.send(text_data=json.dumps({'type': 'authenticated'})) - print(f"User {self.user} authenticated") - user2 = await self.get_user_from_token2(token2) - if user2: - self.user2 = user2 - await self.send(text_data=json.dumps({'type': 'authenticated'})) - print(f"User {self.user2} authenticated") - await match_maker.create_game(self, None, True) - else: - await self.send(text_data=json.dumps({'type': 'error', 'message': 'Authentication failed'})) - print("Authentication failed") - else: - await self.send(text_data=json.dumps({'type': 'error', 'message': 'Authentication failed'})) - print("Authentication failed") + async def authenticate2(self, token, token2): + user = await self.get_user_from_token(token) + if user: + self.user = user + await self.send(text_data=json.dumps({'type': 'authenticated'})) + print(f"User {self.user} authenticated") + user2 = await self.get_user_from_token2(token2) + if user2: + self.user2 = user2 + await self.send(text_data=json.dumps({'type': 'authenticated'})) + print(f"User {self.user2} authenticated") + await match_maker.create_game(self, None, True) + else: + await self.send(text_data=json.dumps({'type': 'error', 'message': 'Authentication failed'})) + print("Authentication failed") + else: + await self.send(text_data=json.dumps({'type': 'error', 'message': 'Authentication failed'})) + print("Authentication failed") - @database_sync_to_async - def get_user_from_token2(self, token): - try: - user2 = User.objects.filter(auth_token=token).first() - return user2 - except User.DoesNotExist: - return None + @database_sync_to_async + def get_user_from_token2(self, token): + try: + user2 = User.objects.filter(auth_token=token).first() + return user2 + except User.DoesNotExist: + return None - async def authenticate3(self, token): - user = await self.get_user_from_token(token) - if user: - self.user = user - await self.send(text_data=json.dumps({'type': 'authenticated'})) - print(f"User {self.user.username} authenticated for tournament") - await self.join_tournament_waiting_room() - else: - await self.send(text_data=json.dumps({'type': 'error', 'message': 'Authentication failed'})) - print("Tournament authentication failed") + async def authenticate3(self, token): + user = await self.get_user_from_token(token) + if user: + self.user = user + await self.send(text_data=json.dumps({'type': 'authenticated'})) + print(f"User {self.user.username} authenticated for tournament") + await self.join_tournament_waiting_room() + else: + await self.send(text_data=json.dumps({'type': 'error', 'message': 'Authentication failed'})) + print("Tournament authentication failed") - async def join_tournament_waiting_room(self): - await tournament_match_maker.add_player(self) + async def join_tournament_waiting_room(self): + await tournament_match_maker.add_player(self) - async def disconnect(self, close_code): - if self.game: - await self.game.end_game(disconnected_player=self) - await match_maker.remove_player(self) - await tournament_match_maker.remove_player(self) - print(f"User {self.user.username if hasattr(self, 'user') else 'Unknown'} disconnected") + async def disconnect(self, close_code): + if self.game: + await self.game.end_game(disconnected_player=self) + await match_maker.remove_player(self) + await tournament_match_maker.remove_player(self) + print(f"User {self.user.username if hasattr(self, 'user') else 'Unknown'} disconnected") - async def set_game(self, game): - print(f"({self.user}) Game set to: {game}") - self.game = game + async def set_game(self, game): + print(f"({self.user}) Game set to: {game}") + self.game = game + +###################################################################CHAT################################################################### +class ChatConsumer(AsyncWebsocketConsumer): + async def connect(self): + + try: + # Récupérer le nom de la room à partir de l'URL + self.room_group_name = self.scope['url_route']['kwargs']['room_name'] + + # Accepter la connexion WebSocket + await self.accept() + # Ajouter l'utilisateur au groupe (room) + await self.channel_layer.group_add( + self.room_group_name, + self.channel_name + ) + + self.username = self.scope['user'].username # Assurez-vous d'avoir un utilisateur lié à la connexion + logger.info(f"Connexion de l'utilisateur {self.username} à la room {self.room_group_name}") + # Ajouter l'utilisateur à son propre groupe personnel (pour messages directs) + + + except Exception as e: + logger.error(f"Erreur lors de la connexion WebSocket: {str(e)}") + + async def disconnect(self, close_code): + try: + # Retirer l'utilisateur du groupe (room) + await self.channel_layer.group_discard( + self.room_group_name, + self.channel_name + ) + + # Retirer l'utilisateur de son groupe personnel + await self.channel_layer.group_discard( + f"user_{self.username}", + self.channel_name + ) + + # Envoyer un message indiquant que l'utilisateur a quitté la room + await self.chat_message( + 'chat_message', + self.user.username if hasattr(self, "user") else "Unknown", + f'{self.user.username if hasattr(self, "user") else "Unknown"} a quitté le chat', + self.room_group_name + ) + logger.info(f"{self.user.username if hasattr(self, 'user') else 'Unknown'} déconnecté de la room {self.room_group_name}") + + except Exception as e: + logger.error(f"Erreur lors de la déconnexion WebSocket: {str(e)}") + + async def receive(self, text_data): + try: + # Convertir les données JSON reçues en dictionnaire Python + data = json.loads(text_data) + message_type = data.get('type') + username = data.get('username') + message = data.get('message', None) + target_user = data.get('target_user', None) + + logger.info(f"Message reçu: {data}") + + # Gestion des différents types de messages + if message_type == 'authenticate': + logger.info(f"Authentification demandée pour {username}") + await self.authenticate(data.get('token'), username) + return + + elif message_type == 'chat_message': + logger.info(f"Message de chat envoyé par {username}: {message}") + await self.chat_message('chat_message', username, message, self.room_group_name) + + elif message_type == 'block_user': + logger.info(f"{username} tente de bloquer {target_user}") + await self.handle_block_user(data) + + elif message_type == 'invite': + await self.handle_invite_user(data) + + elif message_type == 'invite_response': + await self.handle_invite_response(data) + + else: + logger.warning(f"Type de message non géré: {message_type}") + await self.chat_message('error', 'server', f"Unhandled message type: {message_type}", self.room_group_name) + + except json.JSONDecodeError as e: + logger.error(f"Erreur de décodage JSON : {str(e)} - Données reçues : {text_data}") + await self.chat_message('error', 'server', 'Invalid JSON format', self.room_group_name) + + except Exception as e: + logger.error(f"Erreur lors de la réception du message: {str(e)}") + await self.chat_message('error', 'server', 'Internal server error', self.room_group_name) + + async def chat_message(self, message_type, username, message, room): + """ + Fonction générale pour envoyer tout type de message via WebSocket à tous les utilisateurs dans la room. + """ + logger.info(f"Envoi d'un message de type {message_type} de {username} dans la room {room}") + + # Utilisation de channel_layer pour envoyer le message à tout le groupe (room) + await self.channel_layer.group_send( + room, + { + 'type': 'send_group_message', # Nom de la méthode qui va gérer ce message + 'username': username, + 'message': message, + 'room': room + } + ) + + async def send_group_message(self, event): + """ + Cette fonction est appelée par channel_layer pour envoyer des messages à tous les utilisateurs dans une room. + """ + message = event['message'] + username = event.get('username', 'Anonyme') + room = event.get('room', 'unknown') + + logger.info(f"Diffusion d'un message de {username} à la room {room}: {message}") + + # Envoi du message à chaque utilisateur dans la room via WebSocket + await self.send(text_data=json.dumps({ + 'type': 'chat_message', # Le type de message qui sera renvoyé au client + 'username': username, + 'message': message, + 'room': room + })) + + async def handle_block_user(self, data): + username = data['username'] + target_user = data['target_user'] + + logger.info(f"handle_block_user appelé avec : {data}") + + if target_user == username: + logger.warning(f"{username} a tenté de se bloquer lui-même.") + await self.send(text_data=json.dumps({'type': 'error', 'message': 'You cannot block yourself'})) + return + + logger.info(f"{username} a bloqué {target_user}") + + # Utilisation correcte de l' f-string pour inclure la valeur de target_user + await self.send(text_data=json.dumps({ + 'type': 'block_user', + 'message': f'Vous avez bloqué les messages de {target_user}' + })) + + async def handle_invite_user(self, data): + # Récupération des informations de l'invitation + inviter = data.get('username') + target_user = data.get('target_user') + room = data.get('room') + + # Validation des paramètres + if not inviter: + logger.error("Invitant manquant dans le message d'invitation") + await self.chat_message('error', 'server', 'Invitant manquant', self.room_group_name) + return + + if not target_user: + logger.error("Utilisateur cible manquant dans le message d'invitation") + await self.chat_message('error', 'server', 'Utilisateur cible manquant', self.room_group_name) + return + + if not room: + logger.error("Room manquante dans le message d'invitation") + await self.chat_message('error', 'server', 'Room manquante', self.room_group_name) + return + + logger.info(f"Invitation envoyée de {inviter} à {target_user} dans la room {room}") + await self.chat_message('chat_message', 'server', f'{inviter} a invité {target_user} à rejoindre une partie {room}', room) + + # Envoi de l'invitation + await self.channel_layer.group_send( + room, + { + 'type': 'invite', + 'inviter': inviter, + 'target_user': target_user, + 'room': room, + 'message': f'{inviter} vous a invité à rejoindre la room {room}.' + } + ) + + async def handle_invite_response(self, data): + inviter = data.get('inviter') + username = data.get('username') # L'utilisateur invité qui répond + response = data.get('response') + room = data.get('room') + + logger.info(f"{username} a répondu '{response}' à l'invitation de {inviter}") + await self.chat_message('chat_message', 'server', f'{username} a répondu {response} à l\'invitation.', room) + + # Si la réponse est 'yes', informer l'invitant que l'invité a accepté + if response.lower() == 'yes': + try: + # Informer l'invitant que l'invitation a été acceptée + await self.channel_layer.group_send( + room, + { + 'type': 'invite_response', + 'inviter': inviter, + 'username': username, + 'response': response, + 'room': room, + 'message': f'{username} a accepté l\'invitation.' + } + ) + # Informer à la fois l'invité et l'invitant que le jeu va commencer + await self.channel_layer.group_send( + room, + { + 'type': 'start_quick_match', + 'inviter': inviter, + 'username': username, + 'message': 'La partie va démarrer pour vous deux.', + } + ) + except Exception as e: + logger.error(f"Error while sending invite response: {str(e)}") + await self.chat_message('error', 'server', f'Internal server error: {str(e)}', room) + + # Méthode appelée pour envoyer l'invitation à l'utilisateur invité (target_user) + async def invite(self, event): + inviter = event['inviter'] + message = event['message'] + room = event['room'] + target_user = event['target_user'] + logger.info(f"invite: Envoi de l'invitation à l'utilisateur via WebSocket. Inviter={inviter}, Room={room}, Message={message}") + + # Envoyer le message d'invitation via WebSocket + await self.send(text_data=json.dumps({ + 'type': 'invite', + 'inviter': inviter, + 'target_user': target_user, + 'message': message, + 'room': room + })) + + async def handle_invite_response(self, data): + inviter = data.get('inviter') + username = data.get('username') # L'utilisateur invité qui répond + response = data.get('response') + room = data.get('room') + + logger.info(f"{username} a répondu '{response}' à l'invitation de {inviter}") + await self.chat_message('chat_message', 'server', f'{username} a répondu {response} à l\'invitation.', room) + + # Envoi de la réponse directement à l'invitant dans la room + await self.channel_layer.group_send( + room, + { + 'type': 'invite_response', # Type de message 'invite_response' + 'inviter': inviter, + 'username': username, + 'room': room, + 'message': f'{username} a répondu {response} à l\'invitation.', + 'response': response # Ajout de la réponse 'yes' ou 'no' + } + ) + + async def invite_response(self, event): + message = event['message'] + response = event.get('response') + inviter = event.get('inviter') # Récupérer l'inviteur + + logger.info(f"invite_response: Envoi de la réponse à l'invitation via WebSocket. Message={message}, Response={response}, Inviter={inviter}") + + # Envoyer la réponse à l'invitation via WebSocket à l'invitant + await self.send(text_data=json.dumps({ + 'type': 'invite_response', + 'message': message, + 'response': response, + 'inviter': inviter + })) + + + async def authenticate(self, token, username): + if not token: + logger.error("Token est manquant, l'authentification ne peut pas se poursuivre.") + await self.chat_message('error', 'server', 'Token is missing', self.room_group_name) + return + + logger.info(f"Tentative d'authentification avec le token: {token} pour l'utilisateur: {username}") + + try: + user = await self.get_user_from_token(token) + if user: + self.user = user + logger.info(f"Utilisateur {username} authentifié avec succès") + await self.chat_message('authenticated', username, 'Authentication successful', self.room_group_name) + + else: + logger.warning(f"Échec de l'authentification pour le token: {token}") + await self.chat_message('error', username, 'Authentication failed', self.room_group_name) + except Exception as e: + logger.error(f"Erreur lors de l'authentification : {str(e)}") + await self.chat_message('error', 'server', 'Internal server error', self.room_group_name) + + @sync_to_async + def get_user_from_token(self, token): + try: + user = User.objects.filter(auth_token=token).first() + logger.debug(f"Utilisateur trouvé : {user} pour le token : {token}") + return user + except User.DoesNotExist: + logger.warning(f"Utilisateur non trouvé pour le token : {token}") + return None \ No newline at end of file diff --git a/pong/game/game.py b/pong/game/game.py index 52ef1e1..9086449 100644 --- a/pong/game/game.py +++ b/pong/game/game.py @@ -9,7 +9,6 @@ from asgiref.sync import sync_to_async from .models import Tournoi class Game: - def __init__(self, game_id, player1, player2, localgame): self.game_id = game_id self.player1 = player1 @@ -51,7 +50,6 @@ class Game: self.bt1 = 0 self.bt2 = 0 self.start_time = datetime.now() - self.future_ball_position = {'x': 390, 'y': 190} async def start_game(self): print(f"- Game #{self.game_id} STARTED ({self.game_state['player1_name']} vs {self.game_state['player2_name']}) --- ({self})") @@ -60,42 +58,41 @@ class Game: async def game_loop(self): print(" In the game loop..") - x = 59 + x = 0 while not self.ended: if self.botgame: x += 1 if x == 60: - # Random BOT difficulty.. - steps = 60#random.randint(10, 60) - self.future_ball_position = await self.predict_ball_trajectory(steps) + await self.update_bot_position() x = 0 - if self.botgame: - await self.update_bot_position() await self.handle_pad_movement() await self.update_game_state() await self.send_game_state() await asyncio.sleep(1/60) # Around 60 FPS async def update_bot_position(self): - #future_ball_position = self.predict_ball_trajectory() - target_y = self.future_ball_position['y'] + future_ball_position = self.predict_ball_trajectory() + + target_y = future_ball_position['y'] player2_position = self.game_state['player2_position'] # Adjusts bot position based on expected ball position if player2_position < target_y < player2_position + 80: pass #bot already placed elif player2_position < target_y: - self.p2_mov = 1 - #self.game_state['player2_position'] = min(player2_position + (50 * self.speed), 300) + #self.p2_mov = 1 + self.game_state['player2_position'] = min(player2_position + (50 * self.speed), 300) elif player2_position + 80 > target_y: - self.p2_mov = -1 - #self.game_state['player2_position'] = max(player2_position - (50 * self.speed), 0) + #self.p2_mov = -1 + self.game_state['player2_position'] = max(player2_position - (50 * self.speed), 0) - async def predict_ball_trajectory(self, steps=60): + def predict_ball_trajectory(self, steps=60): + future_x = self.game_state['ball_position']['x'] future_y = self.game_state['ball_position']['y'] velocity_x = self.game_state['ball_velocity']['x'] velocity_y = self.game_state['ball_velocity']['y'] + for _ in range(steps): future_x += velocity_x if future_x <= 10: @@ -105,9 +102,11 @@ class Game: future_x = 790 else: future_y += velocity_y - # Dealing with bounces off walls - if future_y <= 10 or future_y >= 390: - velocity_y = -velocity_y # Reverse the direction of vertical movement + + # Dealing with bounces off walls + if future_y <= 10 or future_y >= 390: + velocity_y = -velocity_y # Reverse the direction of vertical movement + return {'x': future_x, 'y': future_y} async def update_game_state(self): diff --git a/pong/game/routing.py b/pong/game/routing.py index 8b421b9..3c631ff 100644 --- a/pong/game/routing.py +++ b/pong/game/routing.py @@ -1,8 +1,15 @@ # /pong/game/routing.py - from django.urls import re_path from . import consumers +import logging + +logger = logging.getLogger(__name__) + +logger.debug("Configuring WebSocket routing patterns") websocket_urlpatterns = [ - re_path(r'ws/game/$', consumers.GameConsumer.as_asgi()), + re_path(r'ws/game/$', consumers.GameConsumer.as_asgi(), name='game_ws'), + re_path(r'ws/chat/(?P\w+)/$', consumers.ChatConsumer.as_asgi()), ] + +logger.info("WebSocket routing patterns configured successfully") diff --git a/pong/game/tournament.py b/pong/game/tournament.py index c057f3e..611ae8c 100644 --- a/pong/game/tournament.py +++ b/pong/game/tournament.py @@ -10,6 +10,13 @@ from .models import Tournoi from .utils import create_tournament, update_tournament, getlen from asgiref.sync import sync_to_async + +TOURNAMENT_NAMES = [ + "Champions Clash", "Ultimate Showdown", "Battle Royale", + "Victory Cup", "Legends Tournament", "Elite Series", "Clash of 42", + "Shibuya incident", "Cunning Game", "Elite of the Stars" +] + TOURNAMENT_NAMES = [ "Champion's Clash", "Ultimate Showdown", "Battle Royale", "Victory's Cup", "Legends Tournament", "Elite Series", "Clash of 42", @@ -82,13 +89,13 @@ class TournamentMatchMaker: # Tournament start method async def start_tournament(self): - if len(self.waiting_players) < 3: + + if len(self.waiting_players) < 2: return False - random.shuffle(self.waiting_players) - '''if (len(self.waiting_players) % 2) != 0: - print("Adding a BYE to the tournament..") - await self.add_player(None)''' + if len(self.waiting_players) % 2 == 0: + await self.add_player(None) self.tournament_state = "in_progress" + random.shuffle(self.waiting_players) self.current_round = 0 len_tournament = await sync_to_async(getlen)() self.final_name = self.name + " #" + str(len_tournament + 1) @@ -97,7 +104,7 @@ class TournamentMatchMaker: return True async def advance_tournament(self): - players = self.waiting_players + players = self.waiting_players while len(players) > 1: self.current_round += 1 print(f"Starting round {self.current_round} with {len(players)} players") @@ -171,12 +178,16 @@ class TournamentMatchMaker: print(f"Starting TOURNAMENT round #{self.current_round}") for match in self.rounds[-1]: if match.player1 and match.player2: + # Envoyer un message pour indiquer les prochains joueurs du tournoi + message = f"Prochain match: {match.player1.user.username} contre {match.player2.user.username}" + await self.send_to_player(match.player2, {'type': 'tournament_match', 'message': message}) await match_maker.notify_players(match.player1, match.player2, match.game_id, False) asyncio.create_task(match.start_game()) elif match.player1: - # Handle BYE match + # Gestion du BYE + message = f"Prochain match: {match.player1.user.username} contre Bot" + await self.send_to_player(match.player1, {'type': 'tournament_match', 'message': message}) await match_maker.notify_players(match.player1, match.player2, match.game_id, False) - #asyncio.create_task(match.start_game()) match.game_state['player1_score'] = 3 match.game_state['player2_score'] = 0 await match.end_game() @@ -215,7 +226,6 @@ class TournamentMatchMaker: self.rounds = [] self.current_round = 0 self.games = 0 - self.tournament_state = "waiting" async def handle_match_end(self, match): await self.update_brackets() diff --git a/pong/game/utils.py b/pong/game/utils.py index 98d53ae..bc17fe3 100644 --- a/pong/game/utils.py +++ b/pong/game/utils.py @@ -12,9 +12,7 @@ def handle_game_data(p1, p2, s_p1, s_p2, bt_p1, bt_2, dur, is_tournoi, name_tour player_1 = get_or_create_player(p1) player_2 = get_or_create_player(p2) - print("CHAKU & THEOUCHE are the BEST") create_match(player_1, player_2, s_p1, s_p2, bt_p1, bt_2, dur, is_tournoi, name_tournament) - print("and ADRIANO is the PEST") update_player_statistics(p1) print("UPDATE PLAYER 1") diff --git a/pong/game/views.py b/pong/game/views.py index 49ef32c..718b7de 100644 --- a/pong/game/views.py +++ b/pong/game/views.py @@ -95,22 +95,15 @@ def player_list_json(request): } return JsonResponse(data) -def get_tournoi_data(tournoi): - return { - "id": tournoi.id, - "name": tournoi.name, - "nbr_player": tournoi.nbr_player, - "date": tournoi.date, - "winner": { - "id": tournoi.winner.id, - "name": tournoi.winner.name - } if tournoi.winner else None - } - def tournoi_list_json(request): - tournois = Tournoi.objects.select_related('winner').all() # Charge les données du gagnant - tournois_data = [get_tournoi_data(tournoi) for tournoi in tournois] - return JsonResponse({"tournois": tournois_data}) + tournois = Tournoi.objects.all() + + data = { + 'tournois': list(tournois.values( + 'id', 'name', 'nbr_player', 'date', 'winner' + )) + } + return JsonResponse(data) from web3 import Web3 diff --git a/pong/settings.py b/pong/settings.py index 995d669..5a8cfdd 100644 --- a/pong/settings.py +++ b/pong/settings.py @@ -58,19 +58,19 @@ MIDDLEWARE = [ ROOT_URLCONF = 'pong.urls' TEMPLATES = [ - { - 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [os.path.join(BASE_DIR, 'pong', 'static')], # Ensure templates are found - 'APP_DIRS': True, - 'OPTIONS': { - 'context_processors': [ - 'django.template.context_processors.debug', - 'django.template.context_processors.request', - 'django.contrib.auth.context_processors.auth', - 'django.contrib.messages.context_processors.messages', - ], - }, - }, + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [os.path.join(BASE_DIR, 'pong', 'static')], # Ensure templates are found + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, ] ASGI_APPLICATION = 'pong.asgi.application' @@ -94,18 +94,18 @@ DATABASES = { # https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ - { - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', - }, + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, ] # Internationalization @@ -121,10 +121,6 @@ USE_L10N = True USE_TZ = True - -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/3.2/howto/static-files/ - STATIC_URL = '/static/' STATICFILES_DIRS = [os.path.join(BASE_DIR, 'pong/static')] STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') @@ -136,10 +132,11 @@ DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' # Channels # Define the channel layers for WebSockets +# Define the channel layers for WebSockets CHANNEL_LAYERS = { - 'default': { - 'BACKEND': 'channels.layers.InMemoryChannelLayer', - }, + 'default': { + 'BACKEND': 'channels.layers.InMemoryChannelLayer', + }, } LOGGING = { diff --git a/pong/static/burger.js b/pong/static/burger.js index ca45088..491d47a 100644 --- a/pong/static/burger.js +++ b/pong/static/burger.js @@ -75,18 +75,31 @@ document.addEventListener('DOMContentLoaded', () => { .catch(error => console.error('Error fetching match data:', error)); } - function fetchPlayers(){ + function fetchPlayers() { console.log('Fetching players...'); - fetch('/api/player_list/') - .then(response => response.json()) + // Retourner la promesse pour permettre l'utilisation de .then() plus tard + return fetch('/api/player_list/') + .then(response => { + if (!response.ok) { + throw new Error(`HTTP error! Status: ${response.status}`); + } + return response.json(); + }) .then(data => { if (data.players) { - displayPlayers(data.players); + displayPlayers(data.players); // Affiche les joueurs récupérés + return data.players; // Retourne les joueurs pour permettre de les traiter dans un .then + } else { + throw new Error('No players found.'); } }) - .catch(error => console.error('Error fetching match data:', error)); + .catch(error => { + console.error('Error fetching match data:', error); + return null; // En cas d'erreur, retourne null + }); } - + // Expose fetchPlayers globalement + window.fetchPlayers = fetchPlayers; function fetchTournois(){ console.log('Fetching tournois...'); fetch('/api/tournoi_list/') @@ -103,11 +116,10 @@ document.addEventListener('DOMContentLoaded', () => { console.log('Displaying matches:'); const matchListBody = document.querySelector('#match-list tbody'); matchListBody.innerHTML = ''; - + const row = document.createElement('tr'); if (matches.length != 0) { matches.forEach(match => { - const row = document.createElement('tr'); row.innerHTML = ` ${match.id} ${match.player1__name} @@ -125,7 +137,6 @@ document.addEventListener('DOMContentLoaded', () => { matchListBody.appendChild(row); }); } else { - const row = document.createElement('tr'); row.innerHTML = ` No matches found. `; @@ -137,11 +148,10 @@ document.addEventListener('DOMContentLoaded', () => { console.log('Displaying players:'); const playersListBody = document.querySelector('#player-list tbody'); playersListBody.innerHTML = ''; - + const row = document.createElement('tr'); if (players.length != 0) { players.forEach(player => { - const row = document.createElement('tr'); row.innerHTML = ` ${player.id} ${player.name} @@ -160,9 +170,8 @@ document.addEventListener('DOMContentLoaded', () => { playersListBody.appendChild(row); }); } else { - const row = document.createElement('tr'); row.innerHTML = ` - No player found. + No matches found. ` playersListBody.appendChild(row); } @@ -172,25 +181,22 @@ document.addEventListener('DOMContentLoaded', () => { console.log('Displaying tournois:'); const tournoisListBody = document.querySelector('#tournoi-list tbody'); tournoisListBody.innerHTML = ''; + const row = document.createElement('tr'); if (tournois.length != 0) { tournois.forEach(tournoi => { - console.log('Winner:', tournoi.winner); //debug !!!!!!!!!!!!!!!!! - console.log('Winner:', tournoi.winner__name); //debug !!!!!!!!!!!!!!!!! - const row = document.createElement('tr'); row.innerHTML = ` ${tournoi.id} ${tournoi.name} ${tournoi.nbr_player} ${tournoi.date} - ${tournoi.winner ? tournoi.winner.name : 'No one yet ...'} + ${tournoi.winner ? tournoi.winner.name : 'None'} `; tournoisListBody.appendChild(row); }); } else { - const row = document.createElement('tr'); row.innerHTML = ` - No tournoi found. + No matches found. ` tournoisListBody.appendChild(row); } diff --git a/pong/static/flags/de.svg b/pong/static/flags/de.svg old mode 100755 new mode 100644 diff --git a/pong/static/flags/es.svg b/pong/static/flags/es.svg old mode 100755 new mode 100644 diff --git a/pong/static/flags/fr.svg b/pong/static/flags/fr.svg old mode 100755 new mode 100644 diff --git a/pong/static/flags/it.svg b/pong/static/flags/it.svg old mode 100755 new mode 100644 diff --git a/pong/static/flags/us.svg b/pong/static/flags/us.svg old mode 100755 new mode 100644 diff --git a/pong/static/game.js b/pong/static/game.js index 4680c5b..64fd3e2 100644 --- a/pong/static/game.js +++ b/pong/static/game.js @@ -1,70 +1,80 @@ + document.addEventListener('DOMContentLoaded', () => { - const formBlock = document.getElementById('block-form'); + console.log("DOM fully loaded and parsed"); + const formBlock = document.getElementById('block-form'); - const authForm = document.getElementById('auth-form'); - const nicknameInput = document.getElementById('nickname'); - const checkNicknameButton = document.getElementById('check-nickname'); + const authForm = document.getElementById('auth-form'); + const nicknameInput = document.getElementById('nickname'); + const checkNicknameButton = document.getElementById('check-nickname'); - const registerForm = document.getElementById('register-form'); - const passwordInput = document.getElementById('password'); - const confirmPasswordInput = document.getElementById('confirm-password'); - const registerButton = document.getElementById('register'); + const registerForm = document.getElementById('register-form'); + const passwordInput = document.getElementById('password'); + const confirmPasswordInput = document.getElementById('confirm-password'); + const registerButton = document.getElementById('register'); - const loginForm = document.getElementById('login-form'); - const loginPasswordInput = document.getElementById('login-password'); - const loginButton = document.getElementById('login'); + const loginForm = document.getElementById('login-form'); + const loginPasswordInput = document.getElementById('login-password'); + const loginButton = document.getElementById('login'); - const authForm2 = document.getElementById('auth-form2'); - const nicknameInput2 = document.getElementById('nickname2'); - const checkNicknameButton2 = document.getElementById('check-nickname2'); + const authForm2 = document.getElementById('auth-form2'); + const nicknameInput2 = document.getElementById('nickname2'); + const checkNicknameButton2 = document.getElementById('check-nickname2'); - const registerForm2 = document.getElementById('register-form2'); - const passwordInput2 = document.getElementById('password2'); - const confirmPasswordInput2 = document.getElementById('confirm-password2'); - const registerButton2 = document.getElementById('register2'); + const registerForm2 = document.getElementById('register-form2'); + const passwordInput2 = document.getElementById('password2'); + const confirmPasswordInput2 = document.getElementById('confirm-password2'); + const registerButton2 = document.getElementById('register2'); - const loginForm2 = document.getElementById('login-form2'); - const loginPasswordInput2 = document.getElementById('login-password2'); - const loginButton2 = document.getElementById('login2'); + const loginForm2 = document.getElementById('login-form2'); + const loginPasswordInput2 = document.getElementById('login-password2'); + const loginButton2 = document.getElementById('login2'); - const gameContainer = document.getElementById('game1'); - const tournamentContainer = document.getElementById('tournament-bracket'); + const gameContainer = document.getElementById('game1'); + const tournamentContainer = document.getElementById('tournament-bracket'); - const pongElements = document.getElementById('pong-elements'); - const logo = document.querySelector('.logo'); + const pongElements = document.getElementById('pong-elements'); + const logo = document.querySelector('.logo'); - const postFormButtons = document.getElementById('post-form-buttons'); - const localGameButton = document.getElementById('local-game'); - const quickMatchButton = document.getElementById('quick-match'); - const tournamentButton = document.getElementById('tournament'); + const postFormButtons = document.getElementById('post-form-buttons'); + const localGameButton = document.getElementById('local-game'); + const quickMatchButton = document.getElementById('quick-match'); + const tournamentButton = document.getElementById('tournament'); - let socket; - let token; - let gameState; - let saveData = null; + console.log("DOM elements initialized"); - // Auto-focus and key handling for AUTH-FORM - nicknameInput.focus(); - nicknameInput.addEventListener('keypress', function (event) { - if (event.key === 'Enter') { - event.preventDefault(); - checkNicknameButton.click(); - } - }); + // Auto-focus and key handling for AUTH-FORM + nicknameInput.focus(); + nicknameInput.addEventListener('keypress', function (event) { + if (event.key === 'Enter') { + event.preventDefault(); + handleCheckNickname(); // Appeler directement la fonction au lieu de simuler un clic + } + }); - checkNicknameButton.addEventListener('click', handleCheckNickname); - registerButton.addEventListener('click', handleRegister); - loginButton.addEventListener('click', handleLogin); + checkNicknameButton.addEventListener('click', handleCheckNickname); + registerButton.addEventListener('click', handleRegister); + loginButton.addEventListener('click', handleLogin); - checkNicknameButton2.addEventListener('click', handleCheckNickname2); - registerButton2.addEventListener('click', handleRegister2); - loginButton2.addEventListener('click', handleLogin2); + checkNicknameButton2.addEventListener('click', handleCheckNickname2); + registerButton2.addEventListener('click', handleRegister2); + loginButton2.addEventListener('click', handleLogin2); - localGameButton.addEventListener('click', startLocalGame); - quickMatchButton.addEventListener('click', startQuickMatch); - tournamentButton.addEventListener('click', startTournament); + localGameButton.addEventListener('click', startLocalGame); + quickMatchButton.addEventListener('click', startQuickMatch); + tournamentButton.addEventListener('click', startTournament); + + let socket; + let gameState; + let activeRoom = null; // Stocker la room active + let roomSockets = {}; // Stocker les connexions WebSocket par room + let token = null; + let username = null; + let saveData = null; + let roomName = null; + let chatManager = null; + - async function handleCheckNickname() { + async function handleCheckNickname() { const nickname = nicknameInput.value.trim(); if (nickname) { window.firstPlayerName = nickname; @@ -104,72 +114,126 @@ document.addEventListener('DOMContentLoaded', () => { } } - async function checkUserExists(username) { - const response = await fetch('/check_user_exists/', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ username }) - }); - const data = await response.json(); - return data.exists; - } + async function checkUserExists(username) { + console.log("checkUserExists called with username:", username); + try { + const response = await fetch('/check_user_exists/', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ username }) + }); - async function handleRegister() { - const nickname = nicknameInput.value.trim(); - const password = passwordInput.value.trim(); - const confirmPassword = confirmPasswordInput.value.trim(); + if (!response.ok) { + console.error(`HTTP error! Status: ${response.status}`); + return false; + } - if (password === confirmPassword) { - try { - const result = await registerUser(nickname, password); - if (result) { - registerForm.style.display = 'none'; - document.getElementById("post-form-buttons").style.display = 'block'; - } else { - alert('Registration failed. Please try again.'); - } - } catch (error) { - console.error('Error registering user:', error); - } - } else { - alert('Passwords do not match.'); - } - } + const data = await response.json(); + console.log("User existence check response:", data); + return data.exists; + } catch (error) { + console.error('Error during user existence check:', error); + return false; + } + } - async function registerUser(username, password) { - const response = await fetch('/register_user/', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ username, password }) - }); - const data = await response.json(); - if (data.registered) { - token = data.token; - } - return data.registered; - } + async function handleRegister() { + console.log("handleRegister called"); + const nickname = nicknameInput.value.trim(); + const password = passwordInput.value.trim(); + const confirmPassword = confirmPasswordInput.value.trim(); + + console.log("Nickname:", nickname); + console.log("Password:", password); + console.log("Confirm Password:", confirmPassword); + + if (password === confirmPassword) { + try { + console.log("Attempting to register user:", nickname); + const result = await registerUser(nickname, password); + console.log("Register result:", result); + + if (result.registered) { // Vérifiez que result contient bien un champ registered + token = result.token; // Assurez-vous que le token est bien stocké ici + console.log("Token stored:", token); + console.log("User registered successfully"); + registerForm.style.display = 'none'; + document.getElementById("post-form-buttons").style.display = 'block'; + username = nickname; + roomName = 'main_room'; // Nom de la room principale + console.log("ChatManager initialized:", chatManager); + + console.log("Initializing ChatManager with username:", username, "and token:", token); + chatManager = new ChatManager(username, token); // Initialiser ChatManager + console.log("ChatManager initialized:", chatManager); + // Ajoutez un log pour vérifier si chatManager est défini + if (chatManager) { + console.log("chatManager is defined:", chatManager); + } else { + console.error("chatManager is not defined"); + } + + console.log("Joining room:", roomName); + chatManager.joinRoom(roomName); // Utilisez ChatManager pour rejoindre la room + } else { + console.error('Registration failed. No token received.'); + alert('Registration failed. Please try again.'); + } + } catch (error) { + console.error('Error registering user:', error); + } + } else { + alert('Passwords do not match.'); + console.error('Passwords do not match.'); + } + } - async function handleLogin() { - const nickname = nicknameInput.value.trim(); - const password = loginPasswordInput.value.trim(); - try { - const result = await authenticateUser(nickname, password); - if (result) { - loginForm.style.display = 'none'; - document.getElementById("post-form-buttons").style.display = 'block'; - } else { - alert('Authentication failed. Please try again.'); - } - } catch (error) { - console.error('Error authenticating user:', error); - } - } + async function registerUser(username, password) { + const response = await fetch('/register_user/', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ username, password }) + }); + const data = await response.json(); + if (data.registered) { + return { registered: true, token: data.token }; + } else { + return { registered: false }; + } + } - async function authenticateUser(username, password) { + async function handleLogin() { + const nickname = nicknameInput.value.trim(); + const password = loginPasswordInput.value.trim(); + try { + const result = await authenticateUser(nickname, password); + if (result) { + loginForm.style.display = 'none'; + document.getElementById("post-form-buttons").style.display = 'block'; + + // Gérer la connexion WebSocket de chat + if (chatManager && chatManager.roomSockets['main_room'] && chatManager.roomSockets['main_room'].readyState !== WebSocket.OPEN) { + console.log('Rejoining chat room...'); + chatManager.startChatWebSocket('main_room'); // Relance la connexion WebSocket si nécessaire + } else if (!chatManager) { + username = nickname; + console.log('Initializing ChatManager...'); + chatManager = new ChatManager(username, token); // Réinitialisation du ChatManager si nécessaire + chatManager.joinRoom('main_room'); + } + } else { + alert('Authentication failed. Please try again.'); + } + } catch (error) { + console.error('Error authenticating user:', error); + } + } + + async function authenticateUser(username, password) { const response = await fetch('/authenticate_user/', { method: 'POST', headers: { @@ -184,80 +248,98 @@ document.addEventListener('DOMContentLoaded', () => { return data.authenticated; } - async function handleCheckNickname2() { - const nickname2 = nicknameInput2.value.trim(); - if (nickname2) { - try { - const exists = await checkUserExists2(nickname2); - if (exists) { - authForm2.style.display = 'none'; - loginForm2.style.display = 'block'; - loginPasswordInput2.focus(); - loginPasswordInput2.addEventListener('keypress', function (event) { - if (event.key === 'Enter') { - event.preventDefault(); - loginButton2.click(); - } - }); - } else { - authForm2.style.display = 'none'; - registerForm2.style.display = 'block'; - passwordInput2.focus(); - passwordInput2.addEventListener('keypress', function (event) { - if (event.key === 'Enter') { - confirmPasswordInput2.focus(); - confirmPasswordInput2.addEventListener('keypress', function (event) { - if (event.key === 'Enter') { - event.preventDefault(); - registerButton2.click(); - } - }); - } - }); - } - } catch (error) { - console.error('Error checking user existence:', error); - } - } else { - alert('Please enter a nickname.'); - } - } + async function handleCheckNickname2() { + const nickname2 = nicknameInput2.value.trim(); + if (nickname2) { + try { + const exists = await checkUserExists2(nickname2); + if (exists) { + authForm2.style.display = 'none'; + loginForm2.style.display = 'block'; + loginPasswordInput2.focus(); + loginPasswordInput2.addEventListener('keypress', function (event) { + if (event.key === 'Enter') { + event.preventDefault(); + loginButton2.click(); + } + }); + } else { + authForm2.style.display = 'none'; + registerForm2.style.display = 'block'; + passwordInput2.focus(); + passwordInput2.addEventListener('keypress', function (event) { + if (event.key === 'Enter') { + confirmPasswordInput2.focus(); + confirmPasswordInput2.addEventListener('keypress', function (event) { + if (event.key === 'Enter') { + event.preventDefault(); + registerButton2.click(); + } + }); + } + }); + } + } catch (error) { + console.error('Error checking user existence:', error); + } + } else { + alert('Please enter a nickname.'); + } + } - async function checkUserExists2(username) { - const response = await fetch('/check_user_exists/', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ username }) - }); - const data = await response.json(); - return data.exists; - } + async function checkUserExists2(username) { + console.log("checkUserExists2 called with username:", username); + try { + const response = await fetch('/check_user_exists/', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ username }) + }); - async function handleRegister2() { - const nickname2 = nicknameInput2.value.trim(); - const password2 = passwordInput2.value.trim(); - const confirmPassword2 = confirmPasswordInput2.value.trim(); + if (!response.ok) { + console.error(`HTTP error! Status: ${response.status}`); + return false; + } - if (password2 === confirmPassword2) { - try { - const result = await registerUser2(nickname2, password2); - if (result) { - registerForm2.style.display = 'none'; - startLocalGame2(); - } else { - alert('Registration failed. Please try again.'); - } - } catch (error) { - console.error('Error registering user:', error); - } - } else { - alert('Passwords do not match.'); - } - } + const data = await response.json(); + console.log("User existence check response (checkUserExists2):", data); + return data.exists; + } catch (error) { + console.error('Error during user existence check (checkUserExists2):', error); + return false; + } + } - async function registerUser2(username, password) { + async function handleRegister2() { + console.log("handleRegister2 called"); + const nickname2 = nicknameInput2.value.trim(); + const password2 = passwordInput2.value.trim(); + const confirmPassword2 = confirmPasswordInput2.value.trim(); + + if (password2 === confirmPassword2) { + try { + console.log("Attempting to register user (handleRegister2):", nickname2); + const result = await registerUser2(nickname2, password2); + if (result) { + console.log("User registered successfully (handleRegister2)"); + registerForm2.style.display = 'none'; + startLocalGame2(); + } else { + console.error('Registration failed (handleRegister2).'); + alert('Registration failed. Please try again.'); + } + } catch (error) { + console.error('Error registering user (handleRegister2):', error); + } + } else { + alert('Passwords do not match.'); + console.error('Passwords do not match (handleRegister2).'); + } + } + + async function registerUser2(username, password) { const response = await fetch('/register_user/', { method: 'POST', headers: { @@ -271,8 +353,8 @@ document.addEventListener('DOMContentLoaded', () => { } return data.registered; } - - async function handleLogin2() { + + async function handleLogin2() { const nickname2 = nicknameInput2.value.trim(); const password2 = loginPasswordInput2.value.trim(); try { @@ -288,7 +370,7 @@ document.addEventListener('DOMContentLoaded', () => { } } - async function authenticateUser2(username, password) { + async function authenticateUser2(username, password) { const response = await fetch('/authenticate_user/', { method: 'POST', headers: { @@ -303,7 +385,7 @@ document.addEventListener('DOMContentLoaded', () => { return data.authenticated; } - function startLocalGame() { + function startLocalGame() { console.log("starting a Local Game.."); document.getElementById("post-form-buttons").style.display = 'none'; authForm2.style.display = 'block'; @@ -316,7 +398,7 @@ document.addEventListener('DOMContentLoaded', () => { }); } - function startLocalGame2() { + function startLocalGame2() { nickname = nicknameInput.value.trim(); nickname2 = nicknameInput2.value.trim(); saveData = { @@ -330,53 +412,82 @@ document.addEventListener('DOMContentLoaded', () => { formBlock.style.display = 'none'; startWebSocketConnection(token, 2); } - - function startQuickMatch() { - saveData = { + + function startQuickMatch() { + saveData = { type: 'quick' } - gameContainer.style.display = 'flex'; - logo.style.display = 'none'; - pongElements.style.display = 'none'; - formBlock.style.display = 'none'; - document.getElementById('player1-name').textContent = "player 1"; - document.getElementById('player2-name').textContent = "player 2"; - document.getElementById('game-text').textContent = ""; - document.getElementById('player1-score').textContent = 0; - document.getElementById('player2-score').textContent = 0; + console.log("Starting quick match...(fonction startquickmatch)"); + // Masquer les éléments inutiles et afficher le conteneur de jeu + gameContainer.style.display = 'flex'; + logo.style.display = 'none'; + pongElements.style.display = 'none'; + formBlock.style.display = 'none'; + // Vérification si une connexion WebSocket est déjà active avant d'initialiser + if (roomSockets["quick_match"] && roomSockets["quick_match"].readyState === WebSocket.OPEN) + { + console.warn("WebSocket for quick_match already open."); + // On laisse startWebSocketConnection se lancer malgré la WebSocket ouverte + startWebSocketConnection(token, 1); + return; + } + roomName = "quick_match"; // Nom de la room principale + chatManager = new ChatManager(username, token); // Initialiser ChatManager + chatManager.joinRoom(roomName); // Utilisez ChatManager pour rejoindre la room + console.log("Starting WebSocket connection for quick match..."); + startWebSocketConnection(token, 1); // Le "1" pourrait être un identifiant pour le mode Quick Match + } - startWebSocketConnection(token, 1); - } + // Fonction pour démarrer un tournoi + function startTournament() + { + saveData = { + type: 'tournoi' + }; + // Masquer les éléments inutiles et afficher le conteneur du tournoi + tournamentContainer.style.display = 'flex'; + logo.style.display = 'none'; + pongElements.style.display = 'none'; + formBlock.style.display = 'none'; + // Log pour vérifier le token avant l'authentification WebSocket + // Vérification si une connexion WebSocket est déjà active avant d'initialiser + if (roomSockets["tournament"] && roomSockets["tournament"].readyState === WebSocket.OPEN) + { + console.warn("WebSocket for tournament already open."); + // On laisse startWebSocketConnection se lancer malgré la WebSocket ouverte + startWebSocketConnection(token, 42); + return; + } + chatManager = new ChatManager(username, token); // Initialiser ChatManager + chatManager.joinRoom('tournament'); // Utilisez ChatManager pour rejoindre la room + console.log("Starting WebSocket connection for tournament..."); + startWebSocketConnection(token, 42); // Le "42" pourrait être un identifiant pour le mode tournoi +} - function startTournament() { - saveData = { - type: 'tournoi' - } - tournamentContainer.style.display = 'flex'; - logo.style.display = 'none'; - pongElements.style.display = 'none'; - formBlock.style.display = 'none'; - startWebSocketConnection(token, 42); - } + function startWebSocketConnection(token, players) { + // Si le socket existe déjà et est ouvert, le fermer + /*if (socket && socket.readyState === WebSocket.OPEN) + { + console.warn('WebSocket connection already open. Closing and recreating a new one.'); + socket.close(); // Fermer le socket ouvert + }*/ + socket = new WebSocket(`ws://${window.location.host}/ws/game/`); + + socket.onopen = function (event) { + console.log('WebSocket connection established'); + if (players === 1) { + console.log("Sending token for a quick match game"); + socket.send(JSON.stringify({ type: 'authenticate', token: token })); + } else if (players === 2) { + console.log("Sending tokens for a local game"); + socket.send(JSON.stringify({ type: 'authenticate2', token_1: token, token_2: token2 })); + } else { + console.log("Sending token for a tournament game"); + socket.send(JSON.stringify({ type: 'authenticate3', token: token })); + } + }; - function startWebSocketConnection(token, players) { - socket = new WebSocket(`wss://${window.location.host}/ws/game/`); - - socket.onopen = function (event) { - console.log('WebSocket connection established'); - if (players === 1) { - console.log("Sending token for a quick match game"); - socket.send(JSON.stringify({ type: 'authenticate', token: token })); - } else if (players === 2) { - console.log("Sending tokens for a local game"); - socket.send(JSON.stringify({ type: 'authenticate2', token_1: token, token_2: token2 })); - } else { - console.log("Sending token for a tournament game") - socket.send(JSON.stringify({ type: 'authenticate3', token: token })); - } - }; - - socket.onmessage = function (event) { + socket.onmessage = function (event) { const data = JSON.parse(event.data); if (data.type === 'authenticated') { console.log('Authentication successful'); @@ -388,8 +499,6 @@ document.addEventListener('DOMContentLoaded', () => { document.addEventListener('keydown', handleKeyDown); } else if (data.type === 'game_state_update') { updateGameState(data.game_state); - } else if (data.type === 'game_text_update') { - updateGameText(data.game_text); } else if (data.type === 'player_disconnected') { console.log('Player disconnected:', data.player); } else if (data.type === 'game_ended') { @@ -416,59 +525,75 @@ document.addEventListener('DOMContentLoaded', () => { document.getElementById('tournament-bracket').innerHTML = data.html; } else if (data.type === 'tournament_end') { console.log('Tournament ended, the winner is:', data.winner); - } else { - console.log('Message from server:', data.type, data.message); - } - }; + // Nouveau cas pour gérer les prochains matchs du tournoi + } else if (data.type === 'tournament_match') { + console.log('Prochain match du tournoi:', data.message); + // Transmettre le message au chat via WebSocket du chat + if (chatManager.chatSocket && chatManager.chatSocket.readyState === WebSocket.OPEN) { + chatManager.chatSocket.send(JSON.stringify({ + type: 'chat_message', + message: data.message, + username: 'Server', // Ou le nom d'utilisateur si pertinent + room: 'tournament' // Ou la room appropriée + })); + } + } else { + console.log('Message from server:', data.type, data.message); + } + }; - socket.onclose = function (event) { - console.log('WebSocket connection closed'); - }; + // Gestion des fermetures de connexion + socket.onclose = function (event) { + console.log('WebSocket connection closed'); + }; - socket.onerror = function (error) { - console.error('WebSocket error:', error); - }; - } + socket.onerror = function (error) { + console.error('WebSocket error:', error); + }; + } - function handleKeyDown(event) { - if (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'w' || event.key === 's') { - sendKeyPress(event.key.toLowerCase()); - } - } + // Gestion des événements de touche + function handleKeyDown(event) { + console.log("Key pressed:", event.key); + if (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'w' || event.key === 's') { + sendKeyPress(event.key.toLowerCase()); + } + } - function sendKeyPress(key) { - if (socket.readyState === WebSocket.OPEN) { - socket.send(JSON.stringify({ type: 'key_press', key })); - } - } + function sendKeyPress(key) { + console.log("Sending key press:", key); + if (socket.readyState === WebSocket.OPEN) { + socket.send(JSON.stringify({ type: 'key_press', key })); + } else { + console.warn("WebSocket is not open. Key press not sent."); + } + } - function updateGameState(newState) { + function updateGameState(newState) { gameState = newState; renderGame(); checkForWinner(); } - function renderGame() { - document.getElementById('player1-name').textContent = `${gameState.player1_name}`; - document.getElementById('player2-name').textContent = `${gameState.player2_name}`; + // Fonction pour rendre l'état du jeu à l'écran + function renderGame() { + console.log("Rendering game state..."); + document.getElementById('player1-name').textContent = `${gameState.player1_name}`; + document.getElementById('player2-name').textContent = `${gameState.player2_name}`; - document.getElementById('player1-pad').style.top = `${gameState.player1_position}px`; - document.getElementById('player2-pad').style.top = `${gameState.player2_position}px`; + document.getElementById('player1-pad').style.top = `${gameState.player1_position}px`; + document.getElementById('player2-pad').style.top = `${gameState.player2_position}px`; - document.getElementById('ball').style.left = `${gameState.ball_position.x}px`; - document.getElementById('ball').style.top = `${gameState.ball_position.y}px`; + document.getElementById('ball').style.left = `${gameState.ball_position.x}px`; + document.getElementById('ball').style.top = `${gameState.ball_position.y}px`; - document.getElementById('player1-score').textContent = gameState.player1_score; - document.getElementById('player2-score').textContent = gameState.player2_score; + document.getElementById('player1-score').textContent = gameState.player1_score; + document.getElementById('player2-score').textContent = gameState.player2_score; - document.getElementById('game-text').textContent = gameState.game_text; - } + document.getElementById('game-text').textContent = gameState.game_text; + } - function updateGameText(gameText) { - document.getElementById('game-text').textContent = gameText; - } - - const starsContainer = document.getElementById('stars'); + const starsContainer = document.getElementById('stars'); for (let i = 0; i < 500; i++) { const star = document.createElement('div'); star.className = 'star'; @@ -521,4 +646,493 @@ document.addEventListener('DOMContentLoaded', () => { } } -}); + function sendStatsCommand(targetUser) { + console.log(`Detected stats command for user: ${targetUser}`); + + // Appelle fetchPlayers et utilise .then() pour traiter les résultats + fetchPlayers().then((players) => { + if (!players) { + console.log('No players found.'); + return; + } + + console.log('Players received in sendStatsCommand:', players); // Affiche les joueurs récupérés + + // Filtrer et récupérer les informations du joueur spécifique + const playerStats = filterPlayers(targetUser, players); // Passer le tableau players en paramètre + if (playerStats) { + // Si les stats sont trouvées, afficher la popup avec les données + displayPlayerStats(playerStats); + } else { + console.log(`Player with username ${targetUser} not found.`); + } + }).catch(error => { + console.error('Error fetching players:', error); + }); + } + + // Modification de filterPlayers pour chercher dans les données reçues (JSON) +function filterPlayers(targetUser, players) { + const searchValue = targetUser.toLowerCase(); // Utiliser le nom d'utilisateur comme valeur de recherche + + for (let i = 0; i < players.length; i++) { + const player = players[i]; + if (player.name && player.name.toLowerCase() === searchValue) { + // Récupérer les statistiques du joueur à partir des données reçues + const playerStats = { + username: player.name, + total_matches: player.total_match, + total_wins: player.total_win, + win_percentage: player.p_win, + best_score: player.best_score || 'N/A' // Ajoute une gestion de cas si best_score n'existe pas + }; + return playerStats; // Retourne les stats du joueur + } + } + + return null; // Retourne null si le joueur n'est pas trouvé +} + + + function displayPlayerStats(stats) { + console.log('Displaying player stats:', stats); // Vérifie que la fonction est bien appelée + + // Créer ou récupérer l'élément popup + let statsPopup = document.getElementById('player-stats-popup'); + + if (!statsPopup) { + console.log('Creating stats popup element'); // Vérifie si l'élément est bien créé + statsPopup = document.createElement('div'); + statsPopup.id = 'player-stats-popup'; + statsPopup.classList.add('player-stats-popup'); + document.body.appendChild(statsPopup); + } + + // Mettre à jour le contenu de la popup avec les statistiques + statsPopup.innerHTML = ` +

Player Stats

+

Username: ${stats.username}

+

Total Matches: ${stats.total_matches}

+

Total Wins: ${stats.total_wins}

+

Win Percentage: ${stats.win_percentage}%

+

Best Score: ${stats.best_score}

+ `; + + // Afficher la popup avec une animation + statsPopup.classList.add('show'); + statsPopup.classList.remove('hide'); + + // Masquer la popup après 5 secondes + setTimeout(() => { + statsPopup.classList.remove('show'); + statsPopup.classList.add('hide'); + }, 3000); + } + + + +////////////////////////////CHAT//////////////////////////////////// + class ChatManager { + constructor(username, token) { + this.username = username; + this.token = token; + this.roomSockets = {}; // Stockage des WebSockets par room + this.blockedUsers = []; // Liste des utilisateurs bloqués + this.activeRoom = null; // La room actuellement active + this.chatSocket = null; // Le WebSocket de chat actif + + console.log(`ChatManager initialized for user: ${username}`); + this.initializeEventListeners(); // Initialiser les gestionnaires d'événements + } + initializeEventListeners() { + const quitButton = document.getElementById('quit-room-btn'); + if (quitButton) { + quitButton.addEventListener('click', () => { + if (this.activeRoom) { + this.leaveRoom(this.activeRoom); + console.log(`User ${this.username} has left the room ${this.activeRoom}`); + } else { + console.warn('No active room to leave.'); + } + }); + } + } + + startChatWebSocket(roomName) { + if (!this.username || this.username.trim() === '') { + console.error("Username is not defined or empty. WebSocket connection aborted."); + alert("Username is required to join the chat. Please log in."); + return; + } + + if (this.roomSockets[roomName] && this.roomSockets[roomName].readyState === WebSocket.OPEN) { + console.warn(`WebSocket for room ${roomName} already open.`); + return; + } + + console.log("Initializing chat WebSocket..."); + console.log(`Initializing chat WebSocket for room: ${roomName} with username: ${this.username}`); + + try { + this.chatSocket = new WebSocket(`ws://${window.location.host}/ws/chat/${roomName}/`); + this.roomSockets[roomName] = this.chatSocket; // Stockage du WebSocket + console.log(`startChatWebSocket: ${roomName} with username: ${this.username} and token: ${this.token}`); + + const chatInputInstance = new ChatInput(roomName, this.username, this.chatSocket, this); // On passe l'instance du manager + + // Gestion de l'ouverture du WebSocket + this.chatSocket.onopen = () => { + console.log(`WebSocket ouvert pour l'utilisateur ${this.username} dans la room ${roomName}`); + + this.chatSocket.send(JSON.stringify({ + 'type': 'authenticate', + 'username': this.username, + 'token': this.token, + 'room': roomName, + })); + console.log(`Authentication message sent for room: ${roomName} with username: ${this.username}`); + }; + + // Gestion des messages WebSocket + this.chatSocket.onmessage = (event) => { + const data = JSON.parse(event.data); + console.log(`Message received from server in room ${roomName}:`, data); + const receivedUsername = data.username || this.username; + + // Assurez-vous que le chat log est bien trouvé pour la room active + let chatLog = document.getElementById(`chat-log-${roomName}`); + if (!chatLog) { + console.error(`Chat log element for room ${roomName} not found.`); + return; + } + + switch (data.type) { + case 'authenticated': + console.log(`User authenticated successfully in room: ${roomName}`); + break; + + case 'chat_message': + const message = data.message; + const receivedUsername = data.username; + const roomName = data.room; + + // Si l'utilisateur n'est pas bloqué, afficher le message + if (!this.blockedUsers.includes(receivedUsername)) { + const messageElement = document.createElement('div'); + messageElement.textContent = `${receivedUsername}: ${message}`; + chatLog.appendChild(messageElement); + console.log(`Message displayed in chat log for room: ${roomName}`); + } else { + console.log(`Message from blocked user ${receivedUsername} was filtered out.`); + } + break; + + case 'block_user': + if (data.message) { + const messageElement = document.createElement('div'); + messageElement.textContent = data.message; + chatLog.appendChild(messageElement); // Ajoute le message au chat-log + } else { + console.error(`Failed to block user: ${data.message}`); + alert(`Error: Failed to block user. ${data.message}`); + } + break; + + case 'invite': + // Vérifie si l'invitation est destinée à cet utilisateur (invité) + if (data.target_user === this.username) { + console.log(`Invitation reçue de ${data.inviter}`); + + const messageElement = document.createElement('div'); + messageElement.textContent = data.message; + chatLog.appendChild(messageElement); // Affiche le message dans le chat-log + + // Demande à l'utilisateur s'il accepte ou refuse l'invitation + const inviteResponse = confirm(`${data.inviter} vous a invité dans la room ${data.room}. Accepter? yes/no.`); + const response = inviteResponse ? 'yes' : 'no'; + + console.log(`Réponse à l'invitation: ${response}`); + + // Envoie la réponse (oui ou non) au serveur + this.chatSocket.send(JSON.stringify({ + 'type': 'invite_response', + 'username': this.username, // Utilisateur invité + 'response': response, + 'inviter': data.inviter, // Le nom de l'invitant + 'room': data.room + })); + + if (response === 'yes') { + // Si l'invitation est acceptée, lancer QuickMatch pour l'invité + console.log(`L'invité ${this.username} va démarrer le QuickMatch...`); + // Si l'invitation est acceptée, lancer QuickMatch pour l'invité après un délai + console.log("Invitation acceptée, démarrage du QuickMatch pour l'invité après un délai..."); + setTimeout(() => { + console.log("Appel de startQuickMatch(invite)..."); + startQuickMatch(); // Lancer le jeu après 2 secondes + console.log("startQuickMatch appelé."); + }, 2000); // 2000 millisecondes = 2 secondes + } + } + break; + + case 'invite_response': + // Vérifie si l'invitation concerne cet utilisateur (l'invitant) + if (data.inviter === this.username) { + const messageElement = document.createElement('div'); + messageElement.textContent = data.message; + chatLog.appendChild(messageElement); // Affiche la réponse dans le chat-log + console.log(`Réponse à l'invitation: ${data.message}`); + + if (data.response && data.response.toLowerCase() === 'yes') { + console.log("Invitation acceptée, démarrage du QuickMatch pour l'invitant..."); + console.log("Appel de startQuickMatch...(invite response)"); + startQuickMatch(); + console.log("startQuickMatch appelé."); + } + } + break; + + case 'player_stats': + console.log('Player stats received:', data); + displayPlayerStats(data.stats); + break; + + case 'error': + console.error('Error message received:', data.message); + alert('Error: ' + data.message); + break; + + default: + console.warn('Unhandled message type:', data); + } + }; + + // Gestion de la fermeture du WebSocket + this.chatSocket.onclose = (event) => { + if (event.wasClean) { + console.log(`Chat WebSocket closed cleanly for room ${roomName}, code=${event.code}, reason=${event.reason}`); + } else { + console.error(`Chat WebSocket closed unexpectedly for room ${roomName}`); + } + }; + + // Gestion des erreurs WebSocket + this.chatSocket.onerror = (error) => { + console.error(`Chat WebSocket error in room ${roomName}:`, error); + }; + + } catch (error) { + console.error(`Error initializing chat WebSocket for room ${roomName}:`, error); + } + } + + blockUser(targetUser) { + this.blockedUsers.push(targetUser); + console.log(`User ${targetUser} added to blocked list.`); + } + + createRoomTab(roomName) { + console.log(`createRoomTab: ${roomName} with username: ${username} and token: ${token}`); + + const tabContainer = document.getElementById('room-tabs-container'); + if (!tabContainer) { + console.error('Room tabs container not found.'); + return; + } + + const existingTab = Array.from(tabContainer.children).find(tab => tab.dataset.room === roomName); + if (existingTab) { + console.log(`Tab for room ${roomName} already exists.`); + // Vous pouvez ajouter une classe pour indiquer que l'onglet est inactif + existingTab.classList.remove('active'); + } else { + console.warn(`Tab for room ${roomName} not found in the HTML.`); + } + } + + showRoomTab(roomName) { + const tabContainer = document.getElementById('room-tabs-container'); + const tab = Array.from(tabContainer.children).find(tab => tab.dataset.room === roomName); + if (tab) { + tab.classList.add('active'); + console.log(`Showing tab for room: ${roomName}`); + } else { + console.warn(`Tab for room ${roomName} not found.`); + } + } + + switchRoom(roomName) { + + if (!roomName) { + console.error('Room name is undefined.'); + return; + } + console.log(`Attempting to switch to room: ${roomName}`); + if (activeRoom === roomName) { + console.log(`Already in room: ${roomName}`); + return; + } + + console.log(`Switching from room ${activeRoom} to room ${roomName}`); + const previousRoom = activeRoom; + activeRoom = roomName; + + if (previousRoom && document.getElementById(`chat-log-${previousRoom}`)) { + console.log(`Hiding chat log for previous room: ${previousRoom}`); + document.getElementById(`chat-log-${previousRoom}`).style.display = 'none'; + } + + const chatLog = document.getElementById(`chat-log-${roomName}`); + if (chatLog) { + chatLog.style.display = 'block'; + } else { + console.warn(`No chat log found for room: ${roomName}`); + } + + // Mettre à jour l'affichage des inputs + document.querySelectorAll('.chat-input').forEach(input => { + input.style.display = 'none'; + }); + document.getElementById(`chat-input-${roomName}`).style.display = 'block'; + + // Mettre à jour l'onglet actif + const tabs = document.querySelectorAll('.room-tab'); + tabs.forEach(t => t.classList.remove('active')); + const activeTab = Array.from(tabs).find(tab => tab.dataset.room === roomName); + if (activeTab) { + activeTab.classList.add('active'); + } + } + + joinRoom(roomName) { + console.log(`Joining room: ${roomName} with username: ${chatManager.username} and token: ${chatManager.token}`); + if (activeRoom === roomName) { + console.log(`Already in room: ${roomName}`); + return; + } + + // Si la room n'a pas de WebSocket actif, on le crée + if (!chatManager.roomSockets[roomName]) { + console.log(`Joining new room: ${roomName}`); + this.createRoomTab(roomName); + this.showRoomTab(roomName); + this.startChatWebSocket(roomName); // Utilisation du ChatManager pour démarrer le WebSocket + } + + this.switchRoom(roomName); + // Activer l'affichage du conteneur de chat + document.getElementById('chat-container').style.display = 'flex'; + } + + leaveRoom(roomName) { + if (this.roomSockets[roomName]) { + console.log(`Leaving room: ${roomName}`); + this.roomSockets[roomName].close(); + delete this.roomSockets[roomName]; + if (this.activeRoom === roomName) { + this.activeRoom = null; + this.chatSocket = null; + } + } else { + console.warn(`No active WebSocket found for room: ${roomName}`); + } + } +} + + class ChatInput { + constructor(roomName, username, chatSocket, chatManager) { + this.roomName = roomName; + this.username = username; + this.chatSocket = chatSocket; + this.chatManager = chatManager; + this.messageInput = document.querySelector(`#chat-input-${roomName} input`); + this.chatButton = document.querySelector(`#chat-input-${roomName} button`); + + console.log(`ChatInput initialized for room: ${roomName}, username: ${username}`); + this.initEventListeners(); + } + + initEventListeners() { + this.messageInput.addEventListener('keypress', (event) => { + if (event.key === 'Enter') { + console.log("Enter key pressed, attempting to send message..."); + this.sendMessage(); + } + }); + + this.chatButton.addEventListener('click', () => { + console.log("Send button clicked, attempting to send message..."); + this.sendMessage(); + }); + } + + sendMessage() { + const message = this.messageInput.value.trim(); + console.log(`Attempting to send message: ${message}`); + + if (message) { + if (message.startsWith('/b ')) { + const targetUser = message.slice(3).trim(); + console.log(`Detected block command for user: ${targetUser}`); + this.sendBlockCommand(targetUser); + } else if (message.startsWith('/i ')) { + const targetUser = message.slice(3).trim(); + console.log(`Detected invite command for user: ${targetUser}`); + this.sendInviteCommand(targetUser); + } else if (message.startsWith('/s ')) { + const targetUser = message.slice(3).trim(); + console.log(`Detected stats command for user: ${targetUser}`); + sendStatsCommand(targetUser); + } else { + console.log(`Sending chat message to WebSocket...`); + this.chatSocket.send(JSON.stringify({ + 'type': 'chat_message', + 'username': this.username, + 'message': message, + 'room': this.roomName + })); + } + this.messageInput.value = ''; + console.log("Message input cleared."); + } else { + console.warn('Cannot send an empty message.'); + } + } + + sendBlockCommand(targetUser) { + this.chatManager.blockUser(targetUser); // Met à jour la liste des utilisateurs bloqués via ChatManager + console.log(`Sending block command to WebSocket for user: ${targetUser}`); + this.chatSocket.send(JSON.stringify({ + 'type': 'block_user', + 'username': this.username, + 'target_user': targetUser, + 'room': this.roomName + })); + } + + sendInviteCommand(targetUser) { + if (!targetUser) { + console.error("Target user is not defined. Cannot send invite."); + return; + } + if (!this.username) { + console.error("Username is not defined. Cannot send invite."); + return; + } + if (!this.roomName) { + console.error("Room name is not defined. Cannot send invite."); + return; + } + + console.log(`Sending invite command to WebSocket for user: ${targetUser}`); + + this.chatSocket.send(JSON.stringify({ + 'type': 'invite', + 'username': this.username, // Utilisateur qui envoie l'invitation + 'target_user': targetUser, // Utilisateur qui reçoit l'invitation + 'room': this.roomName // Room où l'invitation est faite + })); + } + } + }); \ No newline at end of file diff --git a/pong/static/index.html b/pong/static/index.html index 8068526..0162aae 100644 --- a/pong/static/index.html +++ b/pong/static/index.html @@ -200,9 +200,125 @@ - + + + + +
+ + +
+ +
+ +
+
+ + +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
Main Room
+
Tournament
+
Quick Match
+
+
+ + + + + + \ No newline at end of file diff --git a/pong/static/styles.css b/pong/static/styles.css index 38d78f0..d7ef894 100644 --- a/pong/static/styles.css +++ b/pong/static/styles.css @@ -469,4 +469,236 @@ canvas { background-color: #000033; color: #00ffff; box-shadow: 0 0 20px #00ffff; -} \ No newline at end of file +} + +/**************************CHAT*************************************/ +@keyframes borderGlow { + 0% { + box-shadow: 0 0 30px #00ffff, inset 0 0 20px #00ffff; + } + 50% { + box-shadow: 0 0 60px #0099ff, inset 0 0 40px #0099ff; + } + 100% { + box-shadow: 0 0 30px #00ffff, inset 0 0 20px #00ffff; + } +} + +#chat-container { + display: none; /* Masquer par défaut */ + position: fixed; + bottom: 10px; + left: 10px; + width: 300px; + background-color: rgba(0, 0, 0, 0.7); /* Couleur de fond semi-transparente par défaut */ + border-radius: 10px; + padding: 10px; + box-shadow: 0 0 30px #00ffff, inset 0 0 20px #00ffff; + z-index: 1000; + box-sizing: border-box; + flex-direction: column; + animation: borderGlow 3s infinite; /* Ajouter l'animation */ + transition: background-color 0.3s, transform 0.3s; /* Ajouter des transitions */ +} + +#chat-container:hover { + background-color: rgba(0, 0, 0, 1); /* Couleur de fond opaque au survol */ + transform: scale(1.05); /* Agrandir légèrement au survol */ +} + +.chat-log { + max-height: 150px; + overflow-y: auto; + margin-bottom: 10px; + box-sizing: border-box; + background-color: transparent; + display: none; +} + +.chat-input { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + margin-bottom: 5px; + position: relative; /* Assurez-vous que le conteneur parent est positionné */ +} + +.chat-input.active { + display: flex; /* Afficher uniquement l'élément actif */ +} + +.chat-input input[type="text"] { + flex: 1; + padding: 5px; + font-size: 13px; + border: none; + border-radius: 5px; + box-sizing: border-box; + height: 28px; + width: 250px; /* Réduire la largeur */ + align-items: center; + justify-content: center; +} + +.chat-button { + height: 50px; + width: 50px; /* Réduire la taille du bouton */ + border: none; + border-radius: 50%; + background: linear-gradient(45deg, #00ffff, #0099ff); + color: #000033; + cursor: pointer; + position: absolute; /* Positionner le bouton de manière absolue */ + right: 10px; /* Ajuster la position à droite */ + top: 10%; /* Centrer verticalement */ + transform: translateY(-50%); /* Centrer verticalement */ + display: flex; + align-items: center; + justify-content: center; + text-align: center; + font-size: 20px; + padding: 0; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); + transition: background 0.3s, transform 0.3s; + animation: buttonGlow 3s infinite; /* Ajouter l'animation */ +} + +.chat-button:hover { + background: linear-gradient(45deg, #0099ff, #00ffff); + transform: translateY(-50%) scale(1.1); /* Agrandir légèrement au survol */ +} + +.chat-button:active { + transform: translateY(-50%) scale(0.95); /* Réduire légèrement à l'activation */ +} + +@keyframes buttonGlow { + 0% { + box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; + } + 50% { + box-shadow: 0 0 20px #0099ff, inset 0 0 10px #0099ff; + } + 100% { + box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; + } +} + +#room-tabs-container { + display: flex; + justify-content: space-between; + margin-top: 5px; +} + +.room-tab { + font-size: 14px; + padding: 5px 10px; + margin-right: 5px; + cursor: pointer; + border: 1px solid #00ffff; + background-color: #000033; + color: #00ffff; + border-radius: 5px; + box-sizing: border-box; + opacity: 0.1; + transition: background 0.3s, transform 0.3s; /* Ajouter des transitions */ + animation: tabGlow 3s infinite; /* Ajouter l'animation */ +} + +.room-tab:hover { + background-color: #00ffff; + color: #000033; + transform: scale(1.1); /* Agrandir légèrement au survol */ +} + +.room-tab:active { + transform: scale(0.95); /* Réduire légèrement à l'activation */ +} + +.room-tab.active { + background-color: #00ffff; + color: #000033; + opacity: 1; +} + +@keyframes tabGlow { + 0% { + box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; + } + 50% { + box-shadow: 0 0 20px #0099ff, inset 0 0 10px #0099ff; + } + 100% { + box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; + } +} + +#chat-controls { + position: fixed; + bottom: 10px; + left: 320px; /* Correspondre à la position à côté du conteneur de chat */ + display: flex; + flex-direction: column; + gap: 5px; /* Espacement entre les boutons */ +} + +#chat-controls button { + width: 100px; /* Correspondre à la taille des boutons */ + height: 30px; /* Correspondre à la taille des boutons */ + font-size: 12px; /* Correspondre à la taille de la police */ + padding: 5px; + border-radius: 5px; + cursor: pointer; + background-color: #00ffff; + color: #000033; + border: none; + transition: background-color 0.3s, transform 0.3s; + animation: buttonGlow 3s infinite; /* Ajouter l'animation */ +} + +#chat-controls button:hover { + background-color: #0099ff; + transform: scale(1.05); +} + +#chat-controls button:active { + transform: scale(0.95); +} + +@keyframes buttonGlow { + 0% { + box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; + } + 50% { + box-shadow: 0 0 20px #0099ff, inset 0 0 10px #0099ff; + } + 100% { + box-shadow: 0 0 10px #00ffff, inset 0 0 5px #00ffff; + } +} + +.player-stats-popup { + position: fixed; + bottom: 20px; + left: 320px; /* Adjust to appear above the chat */ + width: 300px; + background-color: rgba(0, 0, 40, 0.9); + color: #00ffff; + border-radius: 10px; + padding: 15px; + box-shadow: 0 0 20px #00ffff, inset 0 0 10px #00ffff; + z-index: 2000; + transition: transform 0.3s ease-out, opacity 0.3s ease-out; +} + +.player-stats-popup.show { + display: block; + transform: translateY(0); + opacity: 1; +} + +.player-stats-popup.hide { + transform: translateY(20px); + opacity: 0; +}