(self, ffi_event: FFIEvent)
| 292 | self.account.log(f"{info}\nException {ex}\nTraceback:\n{logfile.getvalue()}") |
| 293 | |
| 294 | def _map_ffi_event(self, ffi_event: FFIEvent): |
| 295 | name = ffi_event.name |
| 296 | account = self.account |
| 297 | if name == "DC_EVENT_CONFIGURE_PROGRESS": |
| 298 | data1 = ffi_event.data1 |
| 299 | if data1 == 0 or data1 == 1000: |
| 300 | success = data1 == 1000 |
| 301 | comment = ffi_event.data2 |
| 302 | yield "ac_configure_completed", {"success": success, "comment": comment} |
| 303 | elif name == "DC_EVENT_INCOMING_MSG": |
| 304 | msg = account.get_message_by_id(ffi_event.data2) |
| 305 | if msg is not None: |
| 306 | yield ("ac_incoming_message", {"message": msg}) |
| 307 | elif name == "DC_EVENT_MSGS_CHANGED": |
| 308 | if ffi_event.data2 != 0: |
| 309 | msg = account.get_message_by_id(ffi_event.data2) |
| 310 | if msg is not None: |
| 311 | if msg.is_outgoing(): |
| 312 | yield "ac_outgoing_message", {"message": msg} |
| 313 | elif msg.is_in_fresh(): |
| 314 | yield "ac_incoming_message", {"message": msg} |
| 315 | elif name == "DC_EVENT_REACTIONS_CHANGED": |
| 316 | assert ffi_event.data1 > 0 |
| 317 | msg = account.get_message_by_id(ffi_event.data2) |
| 318 | if msg is not None: |
| 319 | yield "ac_reactions_changed", {"message": msg} |
| 320 | elif name == "DC_EVENT_MSG_DELIVERED": |
| 321 | msg = account.get_message_by_id(ffi_event.data2) |
| 322 | if msg is not None: |
| 323 | yield "ac_message_delivered", {"message": msg} |
| 324 | elif name == "DC_EVENT_CHAT_MODIFIED": |
| 325 | chat = account.get_chat_by_id(ffi_event.data1) |
| 326 | yield "ac_chat_modified", {"chat": chat} |
no test coverage detected