Mads Marquart
aeca4865ae
Add unfinished NewGroup helper class
2020-01-09 00:35:44 +01:00
Mads Marquart
152f20027a
Add ThreadABC helper, that'll contain functions that threads can call
2020-01-09 00:35:43 +01:00
Mads Marquart
4199439e07
Remove Thread.type
2020-01-08 23:52:14 +01:00
Mads Marquart
64f55a572e
Move group-related functions to Group model
2020-01-08 23:32:45 +01:00
Mads Marquart
a26554b4d6
Move user-related functions to User model
2020-01-08 23:23:19 +01:00
Mads Marquart
0531a9e482
Add session attribute to Group/User/Page/Thread
2020-01-08 23:11:39 +01:00
Mads Marquart
a5abb05ab3
Rename .uid -> .id everywhere
2020-01-08 23:09:51 +01:00
Mads Marquart
06b7e14c31
Initialize Client using Session
2020-01-08 10:41:17 +01:00
Mads Marquart
41f1007936
Make Session public
2020-01-08 10:33:25 +01:00
Mads Marquart
092573fcbb
Rename State -> Session
2020-01-08 10:16:40 +01:00
Mads Marquart
b4d3769fd5
Fix MQTT error handling
...
- Fix "Out of memory" errors
- Fix typo
2020-01-06 13:14:07 +01:00
Mads Marquart
e57265016e
Skip NoOp events
2020-01-06 10:27:40 +01:00
Mads Marquart
cf4c22898c
Add undocumented _onSeen callback
...
Mostly just to slowly document unknown events
2020-01-06 10:27:11 +01:00
Mads Marquart
bc1e3edf17
Small fixes
...
Handle more errors, and fix Client.stopListening
2020-01-05 20:29:44 +01:00
Mads Marquart
e488f4a7da
Fix typing status parsing
...
Co-authored-by: Tulir Asokan <tulir@maunium.net >
2020-01-05 19:57:53 +01:00
Mads Marquart
afad38d8e1
Fix chat timestamp parsing
2020-01-05 19:57:53 +01:00
Mads Marquart
e9804d4184
Fix message parsing
2020-01-05 19:57:53 +01:00
Mads Marquart
a1b80a7abb
Replace pull channel with MQTT setup
2020-01-05 19:57:53 +01:00
Blue
49d5891bf5
Use datetime instead of raw timestamp
2020-01-01 23:24:12 +01:00
Blue
5fd7ef5191
Add a optional timestamp parameter to mark_as_read and mark_as_unread
2019-12-26 17:27:15 +01:00
Mads Marquart
ffdf4222bf
Split ._parseMessage to reduce indentation
2019-12-15 16:24:17 +01:00
Mads Marquart
a97ef67411
Backport e348425
2019-12-15 15:26:53 +01:00
Mads Marquart
d1fbf0ba0a
Clean up doc references
2019-12-11 16:20:38 +01:00
Mads Marquart
91d4055545
Make models use kw_only (on Python > 3.5)
2019-12-11 16:12:14 +01:00
Mads Marquart
27ae1c9f88
Stop mutating models
2019-12-11 16:12:14 +01:00
Mads Marquart
e348425204
Fix black version
2019-12-11 16:11:54 +01:00
Mads Marquart
fc7cc4ca38
Fix typo
2019-09-10 10:58:28 +02:00
Mads Marquart
614e5ad4bb
Use snake_case method names
...
Renamed:
- Message.formatMentions
- _util.digitToChar
- _util.generateMessageID
- _util.getSignatureID
- _util.generateOfflineThreadingID
- Client._markAlive
Renamed following Client methods:
- isLoggedIn
- getSession
- setSession
- _forcedFetch
- fetchThreads
- fetchAllUsersFromThreads
- fetchAllUsers
- searchForUsers
- searchForPages
- searchForGroups
- searchForThreads
- searchForMessageIDs
- searchForMessages
- _fetchInfo
- fetchUserInfo
- fetchPageInfo
- fetchGroupInfo
- fetchThreadInfo
- fetchThreadMessages
- fetchThreadList
- fetchUnread
- fetchUnseen
- fetchImageUrl
- fetchMessageInfo
- fetchPollOptions
- fetchPlanInfo
- _getPrivateData
- getPhoneNumbers
- getEmails
- getUserActiveStatus
- fetchThreadImages
- _oldMessage
- _doSendRequest
- quickReply
- _sendLocation
- sendLocation
- sendPinnedLocation
- _sendFiles
- sendRemoteFiles
- sendLocalFiles
- sendRemoteVoiceClips
- sendLocalVoiceClips
- forwardAttachment
- createGroup
- addUsersToGroup
- removeUserFromGroup
- _adminStatus
- addGroupAdmins
- removeGroupAdmins
- changeGroupApprovalMode
- _usersApproval
- acceptUsersToGroup
- denyUsersFromGroup
- _changeGroupImage
- changeGroupImageRemote
- changeGroupImageLocal
- changeThreadTitle
- changeNickname
- changeThreadColor
- changeThreadEmoji
- reactToMessage
- createPlan
- editPlan
- deletePlan
- changePlanParticipation
- createPoll
- updatePollVote
- setTypingStatus
- markAsDelivered
- _readStatus
- markAsRead
- markAsUnread
- markAsSeen
- friendConnect
- removeFriend
- blockUser
- unblockUser
- moveThreads
- deleteThreads
- markAsSpam
- deleteMessages
- muteThread
- unmuteThread
- muteThreadReactions
- unmuteThreadReactions
- muteThreadMentions
- unmuteThreadMentions
- _pullMessage
- _parseMessage
- _doOneListen
- setActiveStatus
- onLoggingIn
- on2FACode
- onLoggedIn
- onListening
- onListenError
- onMessage
- onColorChange
- onEmojiChange
- onTitleChange
- onImageChange
- onNicknameChange
- onAdminAdded
- onAdminRemoved
- onApprovalModeChange
- onMessageSeen
- onMessageDelivered
- onMarkedSeen
- onMessageUnsent
- onPeopleAdded
- onPersonRemoved
- onFriendRequest
- onInbox
- onTyping
- onGamePlayed
- onReactionAdded
- onReactionRemoved
- onBlock
- onUnblock
- onLiveLocation
- onCallStarted
- onCallEnded
- onUserJoinedCall
- onPollCreated
- onPollVoted
- onPlanCreated
- onPlanEnded
- onPlanEdited
- onPlanDeleted
- onPlanParticipation
- onQprimer
- onChatTimestamp
- onBuddylistOverlay
- onUnknownMesssageType
- onMessageError
2019-09-08 19:59:53 +02:00
Mads Marquart
5aed7b0abc
Remove login retrying
...
Unnecessary clutter, easy to implement if required by the user.
2019-09-08 18:44:46 +02:00
Mads Marquart
856c1ffe0e
Remove ability to control the listening loop externally
...
It was probably scarcely used, and separate functionality will be
developed that makes this redundant anyhow.
2019-09-08 18:44:46 +02:00
Mads Marquart
650112a592
Remove automatic fb_dtsg refreshing
...
This was error prone, inefficient and wouldn't handle all error cases.
The real solution is to make some way to retry the request in the
general case (since you can alway just get logged out), and that's
probably out of scope for this project, at least right now. :/
2019-09-08 18:44:46 +02:00
Mads Marquart
b5a37e35c6
Remove FBchatUserError in favor of builtin exceptions
2019-09-08 18:44:46 +02:00
Mads Marquart
91cf4589a5
Remove ability to set a custom User-Agent
...
This causes issues if the User-Agent is set to resemble a mobile phone,
see #431 , and besides, it's not an API surface I want / need to support.
2019-09-08 18:44:46 +02:00
Mads Marquart
4155775305
Remove ssl_verify property
...
Only used when debugging, and in that case, the functionality could be
implemented using private APIs.
2019-09-08 18:44:45 +02:00
Mads Marquart
7c758501fc
Remove methods to set the default thread
...
This has been done to value explicitness over implicitness, and also
since the question of whether thread_id=None is acceptable was dependent
on mutable variables in Client.
2019-09-08 18:44:45 +02:00
Mads Marquart
c70a39c568
Remove deprecated arguments, methods, and classes
2019-09-08 18:44:06 +02:00
Mads Marquart
72ab8695f1
Make ts
a datetime, and rename to at
in all onX methods
2019-09-08 15:24:58 +02:00
Mads Marquart
47bdb84957
Make seen_ts a datetime, and rename to seen_at in onX methods
...
- onMessageSeen
- onMarkedSeen
2019-09-08 15:24:58 +02:00
Mads Marquart
24cf4047b7
Convert durations to timedeltas
...
On:
- AudioAttachment.duration
- VideoAttachment.duration
- Client.onCallEnded call_duration argument
- Client.muteThread mute_time argument
2019-09-08 15:24:58 +02:00
Mads Marquart
aef64e5c29
Make Message.timestamp a datetime object, and rename to .created_at
2019-09-08 15:24:58 +02:00
Mads Marquart
6d13937c4a
Make Plan.time a datetime object
2019-09-08 15:24:57 +02:00
Mads Marquart
4b34a063e8
Rename Thread.last_message_timestamp to .last_active, and use datetimes
2019-09-08 15:20:31 +02:00
Mads Marquart
ba088d45a7
Make Client fetching methods use datetime objects
...
On:
- Client.fetchThreads after and before arguments
- Client.fetchThreadMessages before argument
- Client.fetchThreadList before argument
2019-09-08 15:20:31 +02:00
Mads Marquart
a6a3768a38
Fix _util.now() usage in Client
2019-09-08 13:15:11 +02:00
Mads Marquart
da4ed73ec6
Remove models.py
2019-08-28 22:59:22 +02:00
Mads Marquart
62c9512734
Clean up imports
2019-08-28 22:44:42 +02:00
Mads Marquart
d3a0ffc478
Fix logging
...
- Following advice here: https://docs.python.org/3/howto/logging.html#configuring-logging-for-a-library
- Renamed the logger: client -> fbchat
- Remove logging_level init parameter from Client
- Use print instead of log.info in examples
2019-08-28 22:27:29 +02:00
Mads Marquart
01b80b300e
Remove explicit new style class declarations
2019-08-28 21:57:50 +02:00
Mads Marquart
66505f8f41
Remove redundant encoding specifiers and __future__ imports
2019-08-28 21:57:46 +02:00
Mads Marquart
75378bb709
Remove Python 2 specific imports
2019-08-28 21:37:16 +02:00