1.0.3 • Published 6 years ago

twitch-wrapper-ts v1.0.3

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

twitch-wrapper-ts

Twitch Chat & API Wrapper for Node.js Typescript

NPM

Features:

  • Very simple to use, both chat wise and API wise.
  • Strongly typed API results.

Bot Example

Installation:

npm install twitch-wrapper-ts

How to Use:

After installing the package, getting chat is as easy as this:

import { Twitch, Message, ChannelUserState } from "twitch-wrapper-ts";

const twitch: Twitch = new Twitch("username", "token", "channelnames", "seperated");

twitch.connect();
twitch.on("connected", () => twitch.send("Connected!!", "somechannel"));
twitch.on("message", (message: Message, channelState: ChannelUserState) => console.log(message));
    
/*
Message {
  badges: '',
  color: '#00FF7F',
  displayName: 'kutsalouse',
  emotes: '',
  id: '325003d6-aad3-41c5-aa89-d6ee9c56efd7',
  mod: true,
  roomId: 69223356,
  subscriber: true,
  tmiSentTs: 1515006994874,
  turbo: true,
  userId: 47954587,
  userType: '',
  content: 'drop var alt tab yapma artık',
  channel: '#only35support',
  broadcaster:
   Broadcaster {
     emoteOnly: true,
     followersOnly: -1,
     mercury: true,
     r9k: true,
     rituals: true,
     roomId: 69223356,
     slow: true,
     subsOnly: true,
     broadcasterLang: '' }
}
*/

Strongly typed API calls (Fully documented in the Intellisense) :

import { ApiRequester } from "twitch-wrapper-ts";
const twitchApi = new TwitchApi(clientId, oauth);
const users = await twitchApi.users.get({
    login: "implicit1",
});

const followData = await twitchApi.users.follows.get({
    from_id: users.data[0].id,
});
/*
{ total: 63,
  data:
   [ { fromId: '69056964',
       toId: '30080751',
       followedAt: '2018-02-10T16:52:34Z' },
       ...
   ]
}
*/

Error handling:

try {
    //something
} catch (err) {
    console.log(err.response);
}
// { error: 'Service Unavailable', status: 503, message: '' }

Important Notes.

  • Do not include the prefix oauth: in your oauth password.
  • If you do not have one, get it here: http://twitchapps.com/tmi/
  • Including # or not in the channel does NOT matter.
  • Currently you can get detailed information in IntelliSense, documententation will be added soon.
  • As an exception for the clips endpoint, you have to cast your data from IClip as here:
const clip = await twitchApi.clips.get({
    id: "AwkwardHelplessSalamanderSwiftRage",
});
const clips = clip.data.map((clipV) => clipV as Clip);
console.log(clips[0].embedUrl);
  • If you cannot make something work, be sure to check the summary comments for it.

Extra Contact:

Implicit#8954 on Discord, talha6851@hotmail.com

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.7

6 years ago

0.3.6

6 years ago

0.3.5

6 years ago

0.3.4

6 years ago

0.3.3

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago