Skip to main content

A 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 2.0 is currently in BETA stage looking for testers and users. 2.0 supercedes the current 1.x version.

Although not classified as Stable you should be able to use this release for testing purposes. Use in production is at your own risk.

TwitchIO is an asynchronous Python wrapper around the Twitch API and IRC, with a powerful command extension for creating Twitch Chat Bots. TwitchIO 2 will cover 100% of the new Twitch API and will feature support for commands, PubSub and Webhooks.

TwitchIO 2.0 will be buggy, will be lacking some features and you will run into problems here and there, that is the nature of BETA software, by using 2.0 you are helping test and develop TwitchIO by providing us with valuable feedback, feature requests and bug reports.

Documentation

For the Official Documentation: Click Here!

Support

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

Discord

Installation

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

Windows

py -3.9 -m pip install -U twitchio --pre

Linux

python3.9 -m pip install -U twitchio --pre

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 2.0 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 2.0 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

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.0.0b7.tar.gz (52.6 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.0.0b7-py3-none-any.whl (80.3 kB view details)

Uploaded Python 3

File details

Details for the file twitchio-2.0.0b7.tar.gz.

File metadata

  • Download URL: twitchio-2.0.0b7.tar.gz
  • Upload date:
  • Size: 52.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.3.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for twitchio-2.0.0b7.tar.gz
Algorithm Hash digest
SHA256 3ebb03425bf486a0a3812608a073adc54bfa458032748c37be06a4da38390970
MD5 29bfce23ce5a4e9b8cd6589b4ccff675
BLAKE2b-256 ef43aa5ef768de958fef2e6ac1c5cda49fd26099ee109024c93a2b0cdf62f3d6

See more details on using hashes here.

File details

Details for the file twitchio-2.0.0b7-py3-none-any.whl.

File metadata

  • Download URL: twitchio-2.0.0b7-py3-none-any.whl
  • Upload date:
  • Size: 80.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.3.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for twitchio-2.0.0b7-py3-none-any.whl
Algorithm Hash digest
SHA256 cd7768c173ce4364dc262e1cdd0c4c4291d768fdf387b10b8921bd4d18a3b07b
MD5 1a078253e9e342e03482c4db8cbf569f
BLAKE2b-256 ed8c106a356a336c6b0d7b170fbaad4548996909ea4bc08793951251c2a3e319

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