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.
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
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')
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()
For more detailed instructions, visit the twitch.py Documentation.
Need help or want to join the community? Join the Discord server.