首页
/ twitter-node 技术文档

twitter-node 技术文档

2024-12-16 06:15:02作者:魏献源Searcher

1. 安装指南

twitter-node 是一个用于创建与 Twitter 流式连接的项目,并将任何传入的状态推送到 tweet 事件的项目。安装twitter-node前,需要确保已经安装了ntest依赖项。

使用 NPM 进行安装:

npm install twitter-node

或者,在 ~/.node_libraries 中创建一个符号链接:

$ ln -s /path/to/twitter-node/lib/twitter-node ~/.node_libraries/twitter-node

2. 项目使用说明

以下是一个使用twitter-node的基本示例:

var TwitterNode = require('twitter-node').TwitterNode
  , util         = require('util');

var twit = new TwitterNode({
  user: 'username', 
  password: 'password',
  host: 'my_proxy.my_company.com',         // 代理服务器名称或 IP 地址
  port: 8080,                               // 代理端口
  track: ['baseball', 'football'],         // 体育相关关键词
  follow: [12345, 67890],                  // 关注这些随机用户
  locations: [-122.75, 36.8, -121.75, 37.8] // 旧金山的推文
});

// 添加到上面的 track 数组中
twit.track('foosball');

// 添加到上面的关注数组中
twit.follow(2345);

// 关注纽约的推文
twit.location(-74, 40, -73, 41);

// 设置查询参数
twit.params['count'] = 100;

// 设置操作方法
twit.action = 'sample'; // 默认为 'filter'

// 设置请求头
twit.headers['User-Agent'] = 'whatever';

// 监听错误
twit.addListener('error', function(error) {
  console.log(error.message);
});

twit
  .addListener('tweet', function(tweet) {
    util.puts("@" + tweet.user.screen_name + ": " + tweet.text);
  })
  .addListener('limit', function(limit) {
    util.puts("LIMIT: " + util.inspect(limit));
  })
  .addListener('delete', function(del) {
    util.puts("DELETE: " + util.inspect(del));
  })
  .addListener('end', function(resp) {
    util.puts("wave goodbye... " + resp.statusCode);
  })
  .stream();

// 动态添加跟踪内容
twit.track('#nowplaying');
twit.follow(1234);

// 重置流
twit.stream();

3. 项目API使用文档

twitter-node 支持以下事件:

  • tweet(json): 当接收到新推文时触发,参数为一个解析后的 JSON 对象。
  • limit(json): 当接收到新的限制命令时触发,参数为一个解析后的 JSON 对象。
  • delete(json): 当接收到新的删除命令时触发,参数为一个解析后的 JSON 对象。
  • end(response): 当 HTTP 连接关闭时触发,参数为 HTTP 响应对象。

更多关于限制和删除命令的示例,请参考 Twitter 流式 API 文档。

4. 项目安装方式

请参考本文档的“安装指南”部分。

热门项目推荐
相关项目推荐

项目优选

收起
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
46
37
PDFMathTranslatePDFMathTranslate
PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker
Python
30
3
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
171
39
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
249
63
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
24
17
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
892
0
杨帆测试平台杨帆测试平台
扬帆测试平台是一款高效、可靠的自动化测试平台,旨在帮助团队提升测试效率、降低测试成本。该平台包括用例管理、定时任务、执行记录等功能模块,支持多种类型的测试用例,目前支持API(http和grpc协议)、性能、CI调用等功能,并且可定制化,灵活满足不同场景的需求。 其中,支持批量执行、并发执行等高级功能。通过用例设置,可以设置用例的基本信息、运行配置、环境变量等,灵活控制用例的执行。
JavaScript
11
2
advanced-javaadvanced-java
Advanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。
JavaScript
392
102