UNPKG

@sugarcube/plugin-twitter

Version:
50 lines (39 loc) 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _fp = require("lodash/fp"); var _dashp = require("dashp"); var _core = require("@sugarcube/core"); var _twitter = require("./twitter"); var _assertions = require("./assertions"); const querySource = "twitter_query"; const searchPlugin = (envelope, { log, cfg }) => { const queries = _core.envelope.queriesByType(querySource, envelope); log.debug(`Searching for ${queries.join(", ")}.`); return (0, _dashp.flowP)([(0, _twitter.search)(cfg, log), (0, _dashp.tapP)(rs => log.info(`Fetched ${(0, _fp.size)(rs)} search results.`)), rs => _core.envelope.concatData(rs, envelope)], queries); }; const plugin = _core.plugin.liftManyA2([_assertions.assertCredentials, searchPlugin]); plugin.desc = "Search the Twitter API for a search term or hashtag."; plugin.argv = { "twitter.language": { type: "string", nargs: 1, desc: "Limit tweets to a languag, specified as language code, e.g. pt." }, "twitter.geocode": { type: "string", nargs: 1, desc: "Limit tweets located within a given radius of the given geo" + " location, e.g. 37.781157 -122.398720 1km" } }; plugin.source = { name: querySource, desc: "A search term" }; var _default = plugin; exports.default = _default;