Skip to content
← Public packages

@kentcdodds/twitch

Monitor Twitch streams, send chat, and update channel settings.

src/index.ts

66 lines · 1.3 KB · TypeScript
import { getConnectUrl, TWITCH_INTEGRATION } from './core.ts'
import type { TwitchPackageOverview } from './types.ts'

export {
	getConnectUrl,
	getMe,
	getStreamStatus,
	getUserByLogin,
	getUsers,
	listChatters,
	request,
	runSmokeTest,
	searchCategories,
	sendChatMessage,
	TWITCH_HELIX_BASE_URL,
	TWITCH_INTEGRATION,
	TwitchRequestError,
	updateChannelInfo,
} from './core.ts'
export {
	formatTwitchScopes,
	TWITCH_DEFAULT_SCOPES,
	TWITCH_MINIMAL_STREAM_SCOPES,
} from './scopes.ts'
export {
	getChatters,
	getStreams,
	getUsers as helixGetUsers,
	modifyChannelInformation,
	rawHelixRequest,
	searchCategories as helixSearchCategories,
	sendChatMessage as helixSendChatMessage,
} from './openapi-client.ts'

const OPENAPI_SLUGS = [
	'get_users',
	'get_streams',
	'send_chat_message',
	'get_chatters',
	'modify_channel_information',
	'search_categories',
]

/**
 * Return Twitch package overview metadata and export discovery list.
 */
export default async function describeTwitchToolkitPackage(): Promise<TwitchPackageOverview> {
	return {
		kodyId: 'twitch',
		integration: TWITCH_INTEGRATION,
		connectUrl: getConnectUrl(),
		exports: [
			'request',
			'get-me',
			'get-stream',
			'send-chat-message',
			'update-channel-info',
			'list-chatters',
			'smoke-test',
			'guide',
			'scopes',
			'types',
		],
		openapiSlugs: OPENAPI_SLUGS,
	}
}