Async library for Kick.com API and webhooks
Project description
kickcom.py
Async library for Kick.com API and webhooks
[!NOTE]
This is in alpha stage, it currently only supports app access tokens. PRs to improve are very welcome!
Find the kick.com API documentation here
Installation
pip install kickcom.py
Client
All endpoints available for app access tokens are available.
from kickpy.client import Client
kick_client = Client("KICK_CLIENT_ID", "KICK_CLIENT_SECRET")
user = await kick_client.fetch_user(4377088)
# Returns:
# User(user_id=4377088, name='KickBot', email='', profile_picture='https://files.kick.com/images/user/4377088/profile_image/conversion/8dde6c21-7008-43d1-b6ac-7d9c34b7d9cc-fullsize.webp')
channel = await kick_client.fetch_channel(4377088)
# Returns:
# Channel(broadcaster_user_id=4377088, slug='kickbot', channel_description='Official bot of https://kickbot.app, the #1 tool for Kick streamers. | VOD Downloader | !clip command | Custom Commands | Timed Messages | Customizable overlays | Stream Deck Plugin |\n\nContact: contact@kickbot.app', banner_picture='https://files.kick.com/images/channel/4295080/banner_image/b0d66fa3-3a4e-45d5-94ea-84d0590990d7', stream=Stream(url='', key='', is_live=False, is_mature=False, language='', start_time='0001-01-01T00:00:00Z', viewer_count=0), stream_title='', category=Category(id=0, name='', thumbnail=''))
Webhook server
Support for receiving webhooks events from Kick is also available.
from kickpy.client import Client
from kickpy.models.webhooks.chat_message import ChatMessage
from kickpy.webhooks.enums import WebhookEvent
from kickpy.webhooks.server import WebhookServer
def on_chat_message(payload: ChatMessage):
print(payload)
async def main():
kick_client = Client("KICK_CLIENT_ID", "KICK_CLIENT_SECRET")
webhook_server = WebhookServer(kick_client, callback_route="KICK_CALLBACK_ROUTE")
webhook_server.dispatcher.listen(WebhookEvent.CHAT_MESSAGE_SENT, on_chat_message)
await webhook_server.listen(host="localhost", port=3000, access_log=None)
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(main())
loop.run_forever()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kickcom_py-0.0.53.tar.gz.
File metadata
- Download URL: kickcom_py-0.0.53.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2434852db55db6c4058bf4fee9a2f305cbc754a534a57fbc7f2fd8075f924db0
|
|
| MD5 |
73cde85154faf181555a0e6532f3af44
|
|
| BLAKE2b-256 |
1282ec84bab26ad4e2447c8ac1dfc2ff12faa9f794b884eeec47bd9b1710babf
|
File details
Details for the file kickcom_py-0.0.53-py3-none-any.whl.
File metadata
- Download URL: kickcom_py-0.0.53-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fff7e927b200aa1c39311a4a8f092d54e36e0f9ecb503f4e0006cd4e7f326569
|
|
| MD5 |
99856938133457bc5708dd88199b63ff
|
|
| BLAKE2b-256 |
eda320022fbfe5feecc743398963d958f1d20c09699916a124e486037a51e499
|