From b10430e7d42d3c07f4e71ed7375d256cd5fccbf8 Mon Sep 17 00:00:00 2001 From: Johnson Denen Date: Tue, 18 Apr 2017 09:07:03 -0400 Subject: Add boost feature to timelines --- lisp/mastodon-toot.el | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'lisp/mastodon-toot.el') diff --git a/lisp/mastodon-toot.el b/lisp/mastodon-toot.el index 481a187..ff20434 100644 --- a/lisp/mastodon-toot.el +++ b/lisp/mastodon-toot.el @@ -61,6 +61,27 @@ STATUS is passed by `url-retrieve'." (interactive) (kill-buffer-and-window)) +(defun mastodon-toot--property (prop) + "Get property PROP for toot at point." + (or (get-text-property (point) prop) + (progn + (mastodon-tl--goto-next-toot) + (get-text-property (point) prop)))) + +;; TODO extract success callback +(defun mastodon-toot--boost () + "Boost toot at point." + (interactive) + (let* ((id (mastodon-toot--property 'toot-id)) + (url (mastodon--api-for (concat "statuses/" + (number-to-string id) + "/reblog")))) + (let ((response (mastodon-http--post url nil nil))) + (with-current-buffer response + (if (string-prefix-p "2" (mastodon--response-code)) + (message "Boosted!") + (switch-to-buffer response)))))) + (defvar mastodon-toot-mode-map (let ((map (make-sparse-keymap))) (define-key map (kbd "C-c C-c") #'mastodon-toot-send) -- cgit v1.2.3