Merge pull request #15 from erincongden/newfeatures
Muting, follow requests, local timeline, and more
This commit is contained in:
commit
1fc7c465b3
S'han modificat 2 arxius amb 138 adicions i 6 eliminacions
|
@ -99,6 +99,7 @@ User dicts
|
|||
'header': URL for their header image
|
||||
'id': Same as <numerical id>
|
||||
'username': The username (what you @ them with)
|
||||
'locked': Denotes whether the account can be followed without a follow request
|
||||
}
|
||||
|
||||
Toot dicts
|
||||
|
@ -108,7 +109,7 @@ Toot dicts
|
|||
mastodon.toot("Hello from Python")
|
||||
# Returns the following dictionary:
|
||||
{
|
||||
'sensitive': Denotes whether the toot is marked sensitive
|
||||
'sensitive': Denotes whether media attachments to the toot are marked sensitive
|
||||
'created_at': Creation time
|
||||
'mentions': A list of account dicts mentioned in the toot
|
||||
'uri': Descriptor for the toot
|
||||
|
@ -123,6 +124,7 @@ Toot dicts
|
|||
'reblog': Denotes whether the toot is a reblog
|
||||
'url': URL of the toot
|
||||
'content': Content of the toot, as HTML: '<p>Hello from Python</p>'
|
||||
'spoiler_text': Warning text that should be displayed before the toot content
|
||||
'favourited': Denotes whether the logged in user has favourited this toot
|
||||
'account': Account dict for the logged in account
|
||||
}
|
||||
|
@ -138,6 +140,8 @@ Relationship dicts
|
|||
'following': Boolean denoting whether you follow them
|
||||
'id': Numerical id (same one as <numerical id>)
|
||||
'blocking': Boolean denoting whether you are blocking them
|
||||
'muting': Boolean denoting whether you are muting them
|
||||
'requested': Boolean denoting whether you have sent them a follow request
|
||||
}
|
||||
|
||||
Notification dicts
|
||||
|
@ -205,6 +209,7 @@ user could see, as well as hashtag timelines and the public timeline.
|
|||
.. automethod:: Mastodon.timeline
|
||||
.. automethod:: Mastodon.timeline_home
|
||||
.. automethod:: Mastodon.timeline_mentions
|
||||
.. automethod:: Mastodon.timeline_local
|
||||
.. automethod:: Mastodon.timeline_public
|
||||
.. automethod:: Mastodon.timeline_hashtag
|
||||
|
||||
|
@ -236,6 +241,28 @@ their relationships.
|
|||
.. automethod:: Mastodon.account_relationships
|
||||
.. automethod:: Mastodon.account_search
|
||||
|
||||
Reading data: Mutes and blocks
|
||||
------------------------------
|
||||
These functions allow you to get information about accounts that are
|
||||
muted or blocked by the logged in user.
|
||||
|
||||
.. automethod:: Mastodon.mutes
|
||||
.. automethod:: Mastodon.blocks
|
||||
|
||||
Reading data: Favourites
|
||||
------------------------
|
||||
This function allows you to get information about statuses favourited
|
||||
by the authenticated user.
|
||||
|
||||
.. authomethod:: Mastodon.favourites
|
||||
|
||||
Reading data: Follow requests
|
||||
-----------------------------
|
||||
This function allows you to get a list of pending incoming follow
|
||||
requests for the authenticated user.
|
||||
|
||||
.. automethod:: Mastodon.follow_requests
|
||||
|
||||
Writing data: Statuses
|
||||
----------------------
|
||||
These functions allow you to post statuses to Mastodon and to
|
||||
|
@ -258,6 +285,15 @@ These functions allow you to interact with other accounts: To (un)follow and
|
|||
.. automethod:: Mastodon.account_unfollow
|
||||
.. automethod:: Mastodon.account_block
|
||||
.. automethod:: Mastodon.account_unblock
|
||||
.. automethod:: Mastodon.account_mute
|
||||
.. automethod:: Mastodon.account_unmute
|
||||
|
||||
Writing data: Follow requests
|
||||
-----------------------------
|
||||
These functions allow you to accept or reject incoming follow requests.
|
||||
|
||||
.. automethod:: Mastodon.follow_request_authorize
|
||||
.. automethod:: Mastodon.follow_request_reject
|
||||
|
||||
Writing data: Media
|
||||
-------------------
|
||||
|
|
|
@ -166,14 +166,20 @@ class Mastodon:
|
|||
##
|
||||
def timeline(self, timeline = "home", max_id = None, since_id = None, limit = None):
|
||||
"""
|
||||
Fetch statuses, most recent ones first. Timeline can be home, mentions, public
|
||||
or tag/hashtag. See the following functions documentation for what those do.
|
||||
Fetch statuses, most recent ones first. Timeline can be home, mentions, local,
|
||||
public, or tag/hashtag. See the following functions documentation for what those do.
|
||||
|
||||
The default timeline is the "home" timeline.
|
||||
|
||||
Returns a list of toot dicts.
|
||||
"""
|
||||
params = self.__generate_params(locals(), ['timeline'])
|
||||
params_initial = locals()
|
||||
|
||||
if timeline == "local":
|
||||
timeline = "public"
|
||||
params_initial['local'] = True
|
||||
|
||||
params = self.__generate_params(params_initial, ['timeline'])
|
||||
return self.__api_request('GET', '/api/v1/timelines/' + timeline, params)
|
||||
|
||||
def timeline_home(self, max_id = None, since_id = None, limit = None):
|
||||
|
@ -192,6 +198,14 @@ class Mastodon:
|
|||
"""
|
||||
return self.timeline('mentions', max_id = max_id, since_id = since_id, limit = limit)
|
||||
|
||||
def timeline_local(self, max_id = None, since_id = None, limit = None):
|
||||
"""
|
||||
Fetches the local / instance-wide timeline.
|
||||
|
||||
Returns a list of toot dicts.
|
||||
"""
|
||||
return self.timeline('local', max_id = max_id, since_id = since_id, limit = limit)
|
||||
|
||||
def timeline_public(self, max_id = None, since_id = None, limit = None):
|
||||
"""
|
||||
Fetches the public / visible-network timeline.
|
||||
|
@ -319,10 +333,52 @@ class Mastodon:
|
|||
params = self.__generate_params(locals())
|
||||
return self.__api_request('GET', '/api/v1/accounts/search', params)
|
||||
|
||||
###
|
||||
# Reading data: Mutes and Blocks
|
||||
###
|
||||
def mutes(self):
|
||||
"""
|
||||
Fetch a list of users muted by the authenticated user.
|
||||
|
||||
Returns a list of user dicts.
|
||||
"""
|
||||
return self.__api_request('GET', '/api/v1/mutes')
|
||||
|
||||
def blocks(self):
|
||||
"""
|
||||
Fetch a list of users blocked by the authenticated user.
|
||||
|
||||
Returns a list of user dicts.
|
||||
"""
|
||||
return self.__api_request('GET', '/api/v1/blocks')
|
||||
|
||||
###
|
||||
# Reading data: Favourites
|
||||
###
|
||||
def favourites(self):
|
||||
"""
|
||||
Fetch the authenticated user's favourited statuses.
|
||||
|
||||
Returns a list of toot dicts.
|
||||
"""
|
||||
return self.__api_request('GET', '/api/v1/favourites')
|
||||
|
||||
###
|
||||
# Reading data: Follow requests
|
||||
###
|
||||
def follow_requests(self, max_id = None, since_id = None, limit = None):
|
||||
"""
|
||||
Fetch the authenticated user's incoming follow requests.
|
||||
|
||||
Returns a list of user dicts.
|
||||
"""
|
||||
params = self.__generate_params(locals())
|
||||
return self.__api_request('GET', '/api/v1/follow_requests', params)
|
||||
|
||||
###
|
||||
# Writing data: Statuses
|
||||
###
|
||||
def status_post(self, status, in_reply_to_id = None, media_ids = None, sensitive = False, visibility = ''):
|
||||
def status_post(self, status, in_reply_to_id = None, media_ids = None, sensitive = False, visibility = '', spoiler_text = None):
|
||||
"""
|
||||
Post a status. Can optionally be in reply to another status and contain
|
||||
up to four pieces of media (Uploaded via media_post()). media_ids can
|
||||
|
@ -342,6 +398,10 @@ class Mastodon:
|
|||
If not passed in, visibility defaults to match the current account's
|
||||
privacy setting (private if the account is locked, public otherwise).
|
||||
|
||||
The spoiler_text parameter is a string to be shown as a warning before
|
||||
the text of the status. If no text is passed in, no warning will be
|
||||
displayed.
|
||||
|
||||
Returns a toot dict with the new status.
|
||||
"""
|
||||
params_initial = locals()
|
||||
|
@ -409,7 +469,8 @@ class Mastodon:
|
|||
return self.__api_request('POST', '/api/v1/statuses/' + str(id) + "/favourite")
|
||||
|
||||
def status_unfavourite(self, id):
|
||||
"""Favourite a status.
|
||||
"""
|
||||
Un-favourite a status.
|
||||
|
||||
Returns a toot dict with the un-favourited status.
|
||||
"""
|
||||
|
@ -450,6 +511,41 @@ class Mastodon:
|
|||
"""
|
||||
return self.__api_request('POST', '/api/v1/accounts/' + str(id) + "/unblock")
|
||||
|
||||
def account_mute(self, id):
|
||||
"""
|
||||
Mute a user.
|
||||
|
||||
Returns a relationship dict containing the updated relationship to the user.
|
||||
"""
|
||||
return self.__api_request('POST', '/api/v1/accounts/' + str(id) + "/mute")
|
||||
|
||||
def account_unmute(self, id):
|
||||
"""
|
||||
Unmute a user.
|
||||
|
||||
Returns a relationship dict containing the updated relationship to the user.
|
||||
"""
|
||||
return self.__api_request('POST', '/api/v1/accounts/' + str(id) + "/unmute")
|
||||
|
||||
###
|
||||
# Writing data: Follow requests
|
||||
###
|
||||
def follow_request_authorize(self, id):
|
||||
"""
|
||||
Accept an incoming follow request.
|
||||
|
||||
Returns a user dict of the authorized account.
|
||||
"""
|
||||
return self.__api_request('POST', '/api/v1/follow_requests/' + str(id) + "/authorize")
|
||||
|
||||
def follow_request_reject(self, id):
|
||||
"""
|
||||
Reject an incoming follow request.
|
||||
|
||||
Returns a user dict of the rejected account.
|
||||
"""
|
||||
return self.__api_request('POST', '/api/v1/follow_requests/' + str(id) + "/reject")
|
||||
|
||||
###
|
||||
# Writing data: Media
|
||||
###
|
||||
|
|
Loading…
Referencia en una nova incidència