From 083ec64b63ae64eefd663980254e25336260820d Mon Sep 17 00:00:00 2001
From: anekos
Date: Fri, 30 Dec 2011 18:35:17 +0900
Subject: Activity Summary に対応
:tw! activity
---
twittperator.js | 45 ++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 40 insertions(+), 5 deletions(-)
(limited to 'twittperator.js')
diff --git a/twittperator.js b/twittperator.js
index 2d5c2d5..8e21174 100644
--- a/twittperator.js
+++ b/twittperator.js
@@ -26,7 +26,7 @@
// INFO {{{
let INFO =
<>
-
teramako
@@ -174,7 +174,7 @@ let INFO =
Write the plugin.
-
@@ -1233,7 +1233,7 @@ let INFO =
var btquery = query ? "?" + this.buildQuery(query) : "";
var message = {
method: "GET",
- action: setting.apiURLBase + api + btquery,
+ action: setting.getAPIURL(api + btquery),
parameters: {
oauth_signature_method: "HMAC-SHA1",
oauth_consumer_key: this.accessor.get("consumerKey", ""), // Queryの構築
@@ -1261,7 +1261,7 @@ let INFO =
post: function(api, content, callback) {
var message = {
method: "POST",
- action: setting.apiURLBase + api,
+ action: setting.getAPIURL(api),
parameters: {
oauth_signature_method: "HMAC-SHA1",
oauth_consumer_key: this.accessor.get("consumerKey", ""),
@@ -1295,7 +1295,7 @@ let INFO =
var btquery = query ? "?" + this.buildQuery(query) : "";
var message = {
method: "DELETE",
- action: setting.apiURLBase + api + btquery,
+ action: setting.getAPIURL(api + btquery),
parameters: {
oauth_signature_method: "HMAC-SHA1",
oauth_consumer_key: this.accessor.get("consumerKey", ""), // Queryの構築
@@ -1770,6 +1770,31 @@ let INFO =
}, // }}}
}; // }}}
let Twittperator = { // {{{
+ activitySummary: function(id) { // {{{
+ tw.jsonGet(
+ 'https://api.twitter.com/i/statuses/' + id + '/activity/summary',
+ {},
+ function(json) {
+ function idToIcon (id) {
+ return {icons[id] ?
: <>😸>};
+ }
+
+ let icons = {};
+ for (let [, t] in Iterator(history)) {
+ if (t.user && t.user.id_str && t.user.profile_image_url)
+ icons[t.user.id_str] = t.user.profile_image_url;
+ }
+ liberator.echo(<>
+
+ - Retweeter {json.retweeters_count}
+ - {template.map(json.retweeters, idToIcon)}
+ - Favoriters {json.favoriters_count}
+ - {template.map(json.favoriters, idToIcon)}
+
+ >);
+ }
+ );
+ }, // }}}
confirm: function(msg, onYes, onNo, onCancel) { // {{{
if (!onNo)
onNo = function () Twittperator.echo('canceled.');
@@ -2318,6 +2343,15 @@ let INFO =
timelineCompleter: true,
completer: Completers.rawid(seleceMine)
}),
+ SubCommand({
+ command: ["activity"],
+ description: "Activity Summary",
+ action: function(arg) {
+ Twittperator.activitySummary(arg);
+ },
+ timelineCompleter: true,
+ completer: Completers.rawid(function(st) st.id)
+ }),
SubCommand({
command: ["info"],
description: "Display status information",
@@ -2594,6 +2628,7 @@ let INFO =
trackWords: gv.twittperator_track_words,
count: (gv.twittperator_count || 20),
lang: (gv.twittperator_lang || ''),
+ getAPIURL: function (path) (/^https?\:\/\//.test(path) ? path : this.apiURLBase + path)
});
let statusRefreshTimer;
--
cgit v1.2.3