aboutsummaryrefslogtreecommitdiff
path: root/lisp/mastodon-auth.el
diff options
context:
space:
mode:
authorAlexander Griffith <griffitaj@gmail.com>2018-03-05 21:45:45 -0500
committerJohnson Denen <johnson.denen@gmail.com>2018-03-05 21:52:15 -0500
commite9920d64b5283fca6a34b2144a5a35c4c1d02938 (patch)
treeb6c875c5e88e72966440d3641ef37d320ee2d9fd /lisp/mastodon-auth.el
parentb277114d7b3be3447eeecaf3ba7ac0b282a339fe (diff)
Retoot add accts closes #155
When responding to toots the full acct for both local and federated accounts are now added to the new toot buffer. Changes - Added a function in mastodon.el to return the current user acct - Added mastodon-toot--process-local, which takes an acct and appends the current server if it is local returns an empty string if the acct matches the current user and does only adds a prefix @ if the acct is federated - mastodon-toot--mentions will return a formatted string of mentions or an empty string - adds tests for mastodon-toot--mentions - adds a missing , in mastodon-http--post - `mastodon-toot--reply` now passes `mastodon-toot` a toot-id rather than the whole json - 'mastodon-toot--reply-to-id is now a local var in a new toot
Diffstat (limited to 'lisp/mastodon-auth.el')
-rw-r--r--lisp/mastodon-auth.el18
1 files changed, 18 insertions, 0 deletions
diff --git a/lisp/mastodon-auth.el b/lisp/mastodon-auth.el
index 28c14bc..e9889d9 100644
--- a/lisp/mastodon-auth.el
+++ b/lisp/mastodon-auth.el
@@ -43,6 +43,9 @@
(defvar mastodon-auth--token-alist nil
"Alist of User access tokens keyed by instance url.")
+(defvar mastodon-auth--acct-alist nil
+ "Alist of account accts (name@domain) keyed by instance url.")
+
(defun mastodon-auth--generate-token ()
"Make POST to generate auth token."
(mastodon-http--post
@@ -79,5 +82,20 @@ Generate token and set if none known yet."
(push (cons mastodon-instance-url token) mastodon-auth--token-alist)))
token))
+(defun mastodon-auth--get-account-name ()
+ "Request user credentials and return an account name."
+ (cdr (assoc
+ 'acct
+ (mastodon-http--get-json
+ (mastodon-http--api
+ "accounts/verify_credentials")))))
+
+(defun mastodon-auth--user-acct ()
+ "Return a mastodon user acct name."
+ (or (cdr (assoc mastodon-instance-url mastodon-auth--acct-alist))
+ (let ((acct (mastodon-auth--get-account-name)))
+ (push (cons mastodon-instance-url acct) mastodon-auth--acct-alist)
+ acct)))
+
(provide 'mastodon-auth)
;;; mastodon-auth.el ends here