Updated config examples.
This commit is contained in:
parent
960700a11d
commit
663f954410
@ -1,11 +1,23 @@
|
|||||||
adsbx:
|
adsbx:
|
||||||
url: https://adsbexchange.com/api/aircraft/json
|
url: https://adsbexchange.com/api/aircraft/json
|
||||||
pelias:
|
pelias:
|
||||||
url: http://lockheed.local:4000/v1
|
url: http://localhost:4000/v1
|
||||||
lat: 34.1335
|
lat: 34.1335
|
||||||
lon: -118.1924
|
lon: -118.1924
|
||||||
radius-km: 30
|
radius-km: 50
|
||||||
basestation-sqb: clean-basestation.sqb
|
|
||||||
landmarks:
|
landmarks:
|
||||||
blocklist:
|
blocklist:
|
||||||
- Johnny.Depp
|
- Johnny.Depp
|
||||||
|
twitter:
|
||||||
|
enabled?: true
|
||||||
|
# Look for 4 circles in an hour instead of 25 minutes:
|
||||||
|
#
|
||||||
|
#max-history-age-ms: 3600000
|
||||||
|
|
||||||
|
# The map screenshot should use aerial imagery instead of
|
||||||
|
# openstreetmap:
|
||||||
|
#
|
||||||
|
#screenshot:
|
||||||
|
# layer: esri
|
||||||
|
# zoom: 12
|
||||||
|
# simple-tracks: false
|
||||||
|
@ -1,2 +1,7 @@
|
|||||||
adsbx:
|
adsbx:
|
||||||
api-key: <my api key>
|
api-key: <my api key>
|
||||||
|
twitter:
|
||||||
|
consumer-key: xxx
|
||||||
|
consumer-secret: xxx
|
||||||
|
access-token: xxx
|
||||||
|
access-token-secret: xxx
|
||||||
|
52
src/main/lemondronor/advisorycircular/twitter.cljs~
Normal file
52
src/main/lemondronor/advisorycircular/twitter.cljs~
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
(ns lemondronor.advisorycircular.twitter
|
||||||
|
(:require
|
||||||
|
["fs" :as fs]
|
||||||
|
[kitchen-async.promise :as p]
|
||||||
|
[lemondronor.advisorycircular.logging :as logging]
|
||||||
|
[lemondronor.advisorycircular.util :as util]
|
||||||
|
["twit" :as Twit]))
|
||||||
|
|
||||||
|
(def fsprom (.-promises fs))
|
||||||
|
|
||||||
|
(declare logger log-debug log-verbose log-info log-warn log-error)
|
||||||
|
(logging/deflog "twitter" logger)
|
||||||
|
|
||||||
|
|
||||||
|
;; Creates a new twit object.
|
||||||
|
|
||||||
|
(defn twit [config]
|
||||||
|
(Twit. (clj->js {:consumer_key (:consumer-key config)
|
||||||
|
:consumer_secret (:consumer-secret config)
|
||||||
|
:access_token (:access-token config)
|
||||||
|
:access_token_secret (:access-token-secret config)})))
|
||||||
|
|
||||||
|
|
||||||
|
;; Uploads an image to twitter. Returns a promise that resolves to the
|
||||||
|
;; new media ID of the image.
|
||||||
|
|
||||||
|
(defn upload-image [twit path]
|
||||||
|
(log-info "Uploading media to twitter: %s" path)
|
||||||
|
(p/let [b64content (util/read-file path {:encoding "base64"})
|
||||||
|
result (.post twit "media/upload" (clj->js {:media_data b64content}))
|
||||||
|
media-id (get-in (js->clj result :keywordize-keys true) [:data :media_id_string])]
|
||||||
|
(log-info "%s got media ID %s" path media-id)
|
||||||
|
media-id))
|
||||||
|
|
||||||
|
|
||||||
|
;; Posts a tweet with optional multiple media. Returns a promise that
|
||||||
|
;; resolves to the response result.
|
||||||
|
|
||||||
|
(defn tweet [twit status image-paths lat lon]
|
||||||
|
(p/then (p/all (map #(upload-image twit %) image-paths))
|
||||||
|
(fn [media-ids]
|
||||||
|
(log-warn "Tweeting status:'%s' with media: %s" status media-ids)
|
||||||
|
(p/let [result (.post twit "statuses/update"
|
||||||
|
(clj->js {:status status
|
||||||
|
:media_ids [media-ids]
|
||||||
|
:lat lat
|
||||||
|
:long lon
|
||||||
|
:display_coordinates true
|
||||||
|
}))
|
||||||
|
result (js->clj result :keywordize-keys true)]
|
||||||
|
(log-debug "Tweet posted: %s" result)
|
||||||
|
result))))
|
Loading…
Reference in New Issue
Block a user