Improve Presence docstring
This commit is contained in:
		
							
								
								
									
										1
									
								
								TODO.md
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								TODO.md
									
									
									
									
									
								
							| @@ -190,7 +190,6 @@ | |||||||
|     - Option to export-logout-login-import to fix one-time key problems |     - Option to export-logout-login-import to fix one-time key problems | ||||||
|   - Cross-signing |   - Cross-signing | ||||||
|  |  | ||||||
| - Status message and presence |  | ||||||
| - Display read receipts on events (who/how many people have read an event) | - Display read receipts on events (who/how many people have read an event) | ||||||
| - Fully read markers | - Fully read markers | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,35 +34,35 @@ class TypeSpecifier(AutoStrEnum): | |||||||
|  |  | ||||||
| @dataclass | @dataclass | ||||||
| class Presence: | class Presence: | ||||||
|     """Represents a single matrix user presence fields. |     """Represents a single matrix user's presence fields. | ||||||
|  |  | ||||||
|     It is stored in `Backend.presences`, indexed by user ID. It must only be |     These objects are stored in `Backend.presences`, indexed by user ID. | ||||||
|     instiated when receiving a `PresenceEvent` or registering an `Account` |     It must only be instanced when receiving a `PresenceEvent` or | ||||||
|     model. |     registering an `Account` model item. | ||||||
|  |  | ||||||
|     When receiving a `PresenceEvent`, we get or create a `Presence` object in |     When receiving a `PresenceEvent`, we get or create a `Presence` object in | ||||||
|     `Backend.presences` for the targeted user. If the user is registered in any |     `Backend.presences` for the targeted user. If the user is registered in any | ||||||
|     room, add its `Member` object to `members`. And finally update every |     room, add its `Member` model item to `members`. Finally, update every | ||||||
|     `Member` presence fields inside `members`. |     `Member` presence fields inside `members`. | ||||||
|  |  | ||||||
|     When a room member is registered, we try to find a `Presence` in |     When a room member is registered, we try to find a `Presence` in | ||||||
|     `Backend.presences` for that user ID. If found, add the member to |     `Backend.presences` for that user ID. If found, the `Member` item is added | ||||||
|     `members`. |     to `members`. | ||||||
|  |  | ||||||
|     When an Account model is registered, we create a `Presence` in |     When an Account model is registered, we create a `Presence` in | ||||||
|     `Backend.presences` for account ID wether the server supports or not |     `Backend.presences` for the accountu's user ID whether the server supports | ||||||
|     presence (we cannot really know at this point). And assign that `Account` |     presence or not (we cannot know yet at this point), | ||||||
|     to `Account` field. |     and assign that `Account` to the `Presence.account` field. | ||||||
|  |  | ||||||
|     Attributes: |     Special attributes: | ||||||
|         members: A `{room_id: Member}` dict for storing room members related to |         members: A `{room_id: Member}` dict for storing room members related to | ||||||
|             this `Presence`. As each room has its own `Member`s objects, we |             this `Presence`. As each room has its own `Member`s objects, we | ||||||
|             have to keep track of their presence fields. `Member`s are indexed |             have to keep track of their presence fields. `Member`s are indexed | ||||||
|             by room ID. |             by room ID. | ||||||
|  |  | ||||||
|         account: `Account` related to this `Presence` (if any). Should only be |         account: `Account` related to this `Presence`, if any. Should be | ||||||
|             assigned when client starts (`MatrixClient._start()`) and |             assigned when client starts (`MatrixClient._start()`) and | ||||||
|             unassigned when client stops (`MatrixClient._start()`). |             cleared when client stops (`MatrixClient._start()`). | ||||||
|     """ |     """ | ||||||
|  |  | ||||||
|     class State(AutoStrEnum): |     class State(AutoStrEnum): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	