All Projects → TwitchIO → Twitchio

TwitchIO / Twitchio

Licence: mit
TwitchIO - An Async Bot/API wrapper for Twitch made in Python.

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Twitchio

Python Twitch Client
Python wrapper for Twitch API
Stars: ✭ 137 (-48.88%)
Mutual labels:  api, wrapper, twitch
Python Poloniex
Poloniex API wrapper for Python 2.7 & 3
Stars: ✭ 557 (+107.84%)
Mutual labels:  api, wrapper, bot-framework
Twitchcsharp
Twitch C# Wrapper for the Twitch v3 REST API
Stars: ✭ 36 (-86.57%)
Mutual labels:  api, wrapper, twitch
Whatsapp Bot
BOT - WhatsApp Web in TypeScript
Stars: ✭ 170 (-36.57%)
Mutual labels:  api, bot-framework
Coinbasepro Csharp
The unofficial .NET/C# client library for the Coinbase Pro/GDAX API
Stars: ✭ 143 (-46.64%)
Mutual labels:  api, wrapper
Fastapi Crudrouter
A dynamic FastAPI router that automatically creates CRUD routes for your models
Stars: ✭ 159 (-40.67%)
Mutual labels:  api, async
Colore
A powerful C# library for Razer Chroma's SDK
Stars: ✭ 121 (-54.85%)
Mutual labels:  api, wrapper
Uniswap Python
🦄 The unofficial Python client for the Uniswap exchange.
Stars: ✭ 191 (-28.73%)
Mutual labels:  api, wrapper
Wiki
Wikipedia Interface for Node.js
Stars: ✭ 180 (-32.84%)
Mutual labels:  api, wrapper
Node Vk Bot Api
🤖 VK bot framework for Node.js, based on Bots Long Poll API and Callback API.
Stars: ✭ 195 (-27.24%)
Mutual labels:  api, bot-framework
Twitch4j
Modular Async/Sync/Reactive Twitch API Client / IRC Client
Stars: ✭ 209 (-22.01%)
Mutual labels:  api, twitch
Mailjet Apiv3 Nodejs
[API v3] Official Mailjet API v3 NodeJS wrapper
Stars: ✭ 137 (-48.88%)
Mutual labels:  api, wrapper
Node Fb Messenger
✉️ Facebook Messenger Platform Node.js API Wrapper
Stars: ✭ 206 (-23.13%)
Mutual labels:  api, wrapper
Api struct
API wrapper builder with response serialization
Stars: ✭ 224 (-16.42%)
Mutual labels:  api, wrapper
Spaces Api
An API wrapper for DigitalOcean's Spaces object storage designed for easy use.
Stars: ✭ 166 (-38.06%)
Mutual labels:  api, wrapper
Mastodonkit
MastodonKit is a Swift Framework that wraps Mastodon's API
Stars: ✭ 134 (-50%)
Mutual labels:  api, wrapper
Fbrecog
An unofficial python wrapper for the Facebook face recognition endpoint
Stars: ✭ 184 (-31.34%)
Mutual labels:  api, wrapper
Twitch Js
A community-centric, community-supported version of tmi.js
Stars: ✭ 225 (-16.04%)
Mutual labels:  api, twitch
Ovoid
Un-Official OVO API Wrapper
Stars: ✭ 121 (-54.85%)
Mutual labels:  api, wrapper
Kayn
superagent-inspired Node.js lib (w/ **some** TypeScript support) for accessing Riot's League of Legend's API (discord: cnguy#3614)
Stars: ✭ 122 (-54.48%)
Mutual labels:  api, wrapper

.. image:: https://i.imgur.com/B0nvk2w.png?raw=true :align: center

.. image:: https://img.shields.io/badge/Python-3.7%20%7C%203.8%20%7C%203.9-blue.svg :target: https://www.python.org

.. image:: https://img.shields.io/github/license/TwitchIO/TwitchIO.svg :target: LICENSE

.. image:: https://api.codacy.com/project/badge/Grade/61e9d573b4af415a809068333d6b437b :target: https://app.codacy.com/project/mysterialpy/TwitchIO/dashboard

.. image:: https://api.codeclimate.com/v1/badges/1d1a6d3e8e3e3e29109e/maintainability :target: https://codeclimate.com/github/TwitchIO/TwitchIO :alt: Maintainability

An Asynchronous IRC/API Wrapper currently in Development for TwitchBots made in Python!

Documentation

Official Documentation: Click Here! <https://twitchio.readthedocs.io/en/latest/>_

Support

For support using TwitchIO, please join the official support server <https://discord.gg/RAKc3HF>_ on Discord <https://discordapp.com/>_.

Installation

The following commands are currently the valid ways of installing TwitchIO.

TwitchIO requires Python 3.6 or higher.

Windows

.. code:: sh

py -version -m pip install twitchio

Linux

.. code:: sh

python3 -m pip install twitchio

Getting Started

TwitchIO uses many endpoints which may require different tokens and IDs.

  1. IRC endpoints which require an OAuth token. To get a token, log in to Twitch with the bot's account and visit: https://twitchapps.com/tmi/

  2. HTTP endpoints which require a client ID. To be documented.

  3. HTTP endpoints which require an OAuth token and certain scopes. To be documented.

All 3 endpoints may be used at the same time. Otherwise, you may choose to use any or some of the endpoints.

Currently, TwitchIO's development is at a phase which has emphasis on the IRC endpoint and creating a framework around it. Once this is implemented, the other 2 endpoints will be developed further.

A quick and easy bot example:

.. code:: py

from twitchio.ext import commands


class Bot(commands.Bot):

    def __init__(self):
        super().__init__(irc_token='...', client_id='...', nick='...', prefix='!',
                         initial_channels=['...'])

    # Events don't need decorators when subclassed
    async def event_ready(self):
        print(f'Ready | {self.nick}')

    async def event_message(self, message):
        print(message.content)
        await self.handle_commands(message)

    # Commands use a different decorator
    @commands.command(name='test')
    async def my_command(self, ctx):
        await ctx.send(f'Hello {ctx.author.name}!')


bot = Bot()
bot.run()

Become a patron <https://www.patreon.com/twitchio>_ and help support TwitchIO's development <3.

All Twitch logos used are owned by Twitch.tv respectively. Use of the Twitch logos does not imply any affiliation with or endorsement by them.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].