Skip to main content

An asynchronous Python IRC and API wrapper for Twitch.

Project description

./logo.png?raw=true https://img.shields.io/badge/Python-3.7%20%7C%203.8%20%7C%203.9-blue.svg https://img.shields.io/github/license/TwitchIO/TwitchIO.svg https://img.shields.io/badge/code%20style-black-000000.svg

TwitchIO is an asynchronous Python wrapper around the Twitch API and IRC, with a powerful command extension for creating Twitch Chat Bots. TwitchIO covers almost all of the new Twitch API and features support for commands, PubSub, Webhooks, and EventSub.

Documentation

For the Official Documentation: Click Here!

Support

For support using TwitchIO, please join the official support server on Discord.

Discord

Installation

TwitchIO requires Python 3.7+. You can download the latest version of Python here.

Windows

py -m pip install -U twitchio

Linux

python -m pip install -U twitchio

Access Tokens

Visit Token Generator for a simple way to generate tokens for use with TwitchIO.

Getting Started

A simple Chat Bot.

from twitchio.ext import commands


class Bot(commands.Bot):

    def __init__(self):
        # Initialise our Bot with our access token, prefix and a list of channels to join on boot...
        super().__init__(token='ACCESS_TOKEN', prefix='?', initial_channels=['...'])

    async def event_ready(self):
        # We are logged in and ready to chat and use commands...
        print(f'Logged in as | {self.nick}')

    @commands.command()
    async def hello(self, ctx: commands.Context):
        # Send a hello back!
        await ctx.send(f'Hello {ctx.author.name}!')


bot = Bot()
bot.run()

Contributing

TwitchIO currently uses the Black formatter to enforce sensible style formatting.

Before creating a Pull Request it is encouraged you install and run black on your code.

The Line Length limit for TwitchIO is 120.

For installation and usage of Black visit: Black Formatter

For integrating Black into your IDE visit: Black IDE Usage

Special Thanks

Thank you to all those who contribute and help TwitchIO grow.

Special thanks to:

SnowyLuma

Harmon

Tom

Tesence

Adure

Scragly

Chillymosh

If I have forgotten anyone please let me know <3: EvieePy

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

twitchio-2.1.0.tar.gz (67.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

twitchio-2.1.0-py3-none-any.whl (96.5 kB view details)

Uploaded Python 3

File details

Details for the file twitchio-2.1.0.tar.gz.

File metadata

  • Download URL: twitchio-2.1.0.tar.gz
  • Upload date:
  • Size: 67.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for twitchio-2.1.0.tar.gz
Algorithm Hash digest
SHA256 7254486b4a298bf95052f73954d3a2d38df8f31c91dd618d16abaa30dc7e9fad
MD5 c5b177255098cd4374127eaa36d0c310
BLAKE2b-256 d1e2ebdca72de9b143ba20e35b8077c946b21521f63a7e35e3dd8452b2b18c41

See more details on using hashes here.

File details

Details for the file twitchio-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: twitchio-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 96.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for twitchio-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90f96b382b69713e05f8a263f98bc707a9772775a561a098e13fae1e2567f366
MD5 fdbb59506b2928ba7d3a2cd09d746497
BLAKE2b-256 266cfa6c14fedf558e76d61991b9c2fe631e5dde63e49cae6fb4001f05e4c0fb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page