Twurple 开源项目教程
项目介绍
Twurple 是一组旨在覆盖所有现有 Twitch API 的库。通过 Twurple,您可以查询 Helix API、构建聊天机器人、使用 PubSub 和 EventSub 响应自定义兑换、订阅、关注等事件。Twurple 能够自动刷新访问令牌,无需担心令牌过期问题。
项目快速启动
安装 Twurple
要开始使用 Twurple,首先需要将其安装到您的项目中。您可以使用 Yarn 或 npm 进行安装:
yarn add @twurple/auth
# 或者使用 npm
npm install @twurple/auth
基本使用示例
以下是一个简单的示例,展示如何使用 Twurple 进行基本的 API 调用:
const { ApiClient } = require('@twurple/api');
const { ClientCredentialsAuthProvider } = require('@twurple/auth');
const clientId = 'your-client-id';
const clientSecret = 'your-client-secret';
const authProvider = new ClientCredentialsAuthProvider(clientId, clientSecret);
const apiClient = new ApiClient({ authProvider });
async function main() {
const user = await apiClient.users.getUserByName('twitchdev');
console.log(`ID: ${user.id}, Display Name: ${user.displayName}`);
}
main();
应用案例和最佳实践
构建聊天机器人
Twurple 提供了强大的聊天功能,可以轻松构建 Twitch 聊天机器人。以下是一个简单的聊天机器人示例:
const { ChatClient } = require('@twurple/chat');
const { ClientCredentialsAuthProvider } = require('@twurple/auth');
const clientId = 'your-client-id';
const clientSecret = 'your-client-secret';
const authProvider = new ClientCredentialsAuthProvider(clientId, clientSecret);
const chatClient = new ChatClient({ authProvider, channels: ['your-channel'] });
chatClient.onMessage((channel, user, message, msg) => {
if (message === '!hello') {
chatClient.say(channel, `Hello, ${user}!`);
}
});
chatClient.connect();
监听事件
使用 EventSub 监听 Twitch 事件是 Twurple 的另一个强大功能。以下是一个监听订阅事件的示例:
const { EventSubHttpListener } = require('@twurple/eventsub-http');
const { ApiClient } = require('@twurple/api');
const { ClientCredentialsAuthProvider } = require('@twurple/auth');
const clientId = 'your-client-id';
const clientSecret = 'your-client-secret';
const authProvider = new ClientCredentialsAuthProvider(clientId, clientSecret);
const apiClient = new ApiClient({ authProvider });
const listener = new EventSubHttpListener({ apiClient, secret: 'your-secret' });
listener.onChannelSubscription((event) => {
console.log(`${event.userDisplayName} just subscribed!`);
});
listener.start();
典型生态项目
Twurple 由多个包组成,每个包负责与 Twitch 的不同系统进行通信:
- @twurple/auth: 管理认证令牌
- @twurple/api: 调用 Helix API
- @twurple/chat: 连接和交互 Twitch 聊天
- @twurple/pubsub: 使用 Twitch PubSub 监听事件
- @twurple/eventsub-http: 使用 EventSub over HTTP/WebHooks 监听事件
- @twurple/eventsub-ws: 使用 EventSub over WebSockets 监听事件
这些包相互依赖,共同构成了 Twurple 的完整生态系统。