Metadata-Version: 2.1
Name: twitchify
Version: 3.1.2
Summary: Real-time Twitch Event Handling and Helix API Integration in Python
Author-email: Snifo <Snifo@mail.com>
License: MIT
Project-URL: Homepage, https://github.com/mrsnifo/twitchify
Project-URL: Documentation, https://twitchify.readthedocs.io/en/latest
Project-URL: Issue tracker, https://github.com/mrsnifo/twitchify/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.8.0
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp >=3.8.0

# Twitchify

[![PyPI Version](https://img.shields.io/pypi/v/twitchify)](https://pypi.org/project/twitchify) [![Python Versions](https://img.shields.io/pypi/pyversions/twitchify)](https://pypi.org/project/twitchify)

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

Install Twitchify using pip:

```bash
# On Windows
py -3 -m pip install -U twitchify

# On Linux/macOS
python3 -m pip install -U twitchify
```

## Quick Start

Here’s a simple example to get you started with Twitchify:

```python
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:

```python
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 [Twitchify Documentation](https://twitchify.readthedocs.io/en/latest/).

Need help or want to join the community? Join the [Discord server](https://discord.gg/UFTkgnse7d).
