Skip to main content

Real-time Twitch Event Handling and Helix API Integration in Python

Project description

twitch.py

PyPI - Version Python Versions

A Python wrapper for Twitch It handles real-time events via WebSocket EventSub and integrates with the Helix API, all designed for easy asynchronous use.

Installation

To install twitch.py, use the appropriate command for your operating system:

For Windows:

py -3 -m pip install --upgrade twitch.py

For macOS/Linux:

python3 -m pip install --upgrade twitch.py

Quick Start

Here’s a simple example to get you started with twitch.py:

from twitch import Client
from twitch.types import eventsub

client = Client(client_id='YOUR_CLIENT_ID')

@client.event
async def on_ready():
    print('Client is ready!')

@client.event
async def on_follow(data: eventsub.channels.FollowEvent):
    await client.channel.chat.send_message(f'{data["user_name"]} just followed the channel!')

client.run('YOUR_USER_ACCESS_TOKEN')

OAuth Authentication

Authenticate easily with Twitch using the Device Flow authentication method:

from twitch import Client
from twitch.types import eventsub
from twitch.ext.oauth import DeviceAuthFlow, Scopes

client = Client(client_id='YOUR_CLIENT_ID')

DeviceAuthFlow(
    client=client,
    scopes=[Scopes.CHANNEL_READ_SUBSCRIPTIONS]
)

@client.event
async def on_code(code: str):
    print(f'Go to https://www.twitch.tv/activate and enter this code: {code}')

@client.event
async def on_auth(access_token: str, refresh_token: str):
    print(f'Access Token: {access_token}')
    
@client.event
async def on_subscribe(data: eventsub.channels.SubscribeEvent):
    await client.channel.chat.send_message(f'{data["user_name"]} just Subscribed!')

client.run()

Documentation and Support

For more detailed instructions, visit the twitch.py Documentation.

Need help or want to join the community? Join the Discord server.

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

twitch_py-3.2.4.tar.gz (88.1 kB view details)

Uploaded Source

Built Distribution

twitch.py-3.2.4-py3-none-any.whl (124.0 kB view details)

Uploaded Python 3

File details

Details for the file twitch_py-3.2.4.tar.gz.

File metadata

  • Download URL: twitch_py-3.2.4.tar.gz
  • Upload date:
  • Size: 88.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for twitch_py-3.2.4.tar.gz
Algorithm Hash digest
SHA256 0fd6ce39a6332af62118aa5783d642437b9d5c0d3d7744bc0df6c8d0417a8ec2
MD5 a387a36bfa6a2551c5c74ed927d3c0aa
BLAKE2b-256 eff2fbbe180157de92bb2156a278e9035ed76dde17d402537e888423c7a9daea

See more details on using hashes here.

File details

Details for the file twitch.py-3.2.4-py3-none-any.whl.

File metadata

  • Download URL: twitch.py-3.2.4-py3-none-any.whl
  • Upload date:
  • Size: 124.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for twitch.py-3.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0b794bf08779f0b73f86f374c8abf1b50bc38fdb73dc9281c6cc95532fb9c8bd
MD5 1d50bc04bad3478d0dc5075c810a46c0
BLAKE2b-256 8a6ea911e63ac00234cfa699f4108e90a0debb9fc18bc833975cc0a65e8bc8af

See more details on using hashes here.

Supported by

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