Releases: Teekeks/pyTwitchAPI
Releases · Teekeks/pyTwitchAPI
v3.4.0
Twitch
- Added the following new Endpoints:
- "Update Shield Mode Status"
Twitch.update_shield_mode_status()
- "Get Shield Mode Status"
Twitch.get_shield_mode_status()
- "Update Shield Mode Status"
- Added the new
tags
Field to the following Endpoints:- "Get Streams"
Twitch.get_streams()
- "Get Followed Streams"
Twitch.get_followed_streams()
- "Search Channels"
Twitch.search_channels()
- "Get Channel Information"
Twitch.get_channel_information()
- "Modify Channel Information"
Twitch.modify_channel_information()
- "Get Streams"
- Improved documentation
EventSub
- Added the following new Topics:
- "Shield Mode End"
EventSub.listen_channel_shield_mode_end()
- "Shield Mode Begin"
EventSub.listen_channel_shield_mode_begin()
- "Shield Mode End"
- Improved type hints of
listen_
functions - Added check if given callback is a coroutine to
listen_
functions
PubSub
- Fixed AttributeError when reconnecting
Chat
- Expanded documentation on Events and Commands
- Fixed room cache being randomly destroyed over time
- Improved message handling performance drastically for high volume chat bots
- Fixed AttributeError when reconnecting
Chat.join_room()
now times out when it was unable to join a room instead of being infinitly stuckChat.join_room()
now returns a list of channels it was unable to join- Added
Chat.join_timeout
- Added
Chat.unregister_command()
- Added
Chat.unregister_event()
- Added the following new Events:
ChatEvent.USER_LEFT
- Triggered when a user leaves a chat channelChatEvent.CHAT_CLEARED
- Triggered when a user was timed out, banned or the messages where deletedChatEvent.WHISPER
- Triggered when a user sends a whisper message to the bot
OAuth
- fixed
UserAuthenticator.authenticate()
getting stuck whenuser_token
is provided (thanks @Tempystral)
v3.3.0
- Added new event to Chat:
ChatEvent.MESSAGE_DELETE
which triggers whenever a single message got deleted in a channel - Added
Chat.send_raw_irc_message()
method for sending raw irc commands to the websocket. Use with care! - Fixed missing state cleanup after closing Chat, preventing the same instance from being started again
- fixed
ChatRoom.room_id
always being Null
v3.2.2
v3.2.1
v3.2.0
- Made the used loggers available for easy logging configuration
- added the option to set the chat command prefix via
Chat.set_prefix()
Twitch.set_user_authentication()
now also throws aMissingScopeException
when no scope is given. (thanks @aw-was-here !)
v3.1.0
- Added the Endpoint "Get Chatters"
- Added the
MODERATOR_READ_CHATTERS
AuthScope - Added missing
total
field toTwitch.get_users_follows()
- added
send()
shorthand to ChatCommand, this makes sending command replies easier. - Fixed issue which prevented the Twitch client being used inside a EventSub, PubSub or Chat callback
- Fixed issue with using the wrong API url in
Twitch.create_custom_reward()
twitchAPI.helper.first()
now returns None when there is no data to return instead of raising StopAsyncIteration exception- Exceptions in Chat callback methods are now properly displayed
v3.0.1
v3.0.0
This Version is a major rework of the library. Please see the migration guide to learn how to migrate.
Highlights
- Library is now fully async
- Twitch API responses are now Objects and Generators instead of pure dictionaries
- Automatic Pagination of API results
- First alpha of a Chat Bot implementation
- More customizability for the UserAuthenticator
- A lot of new Endpoints where added
- New look and content for the documentation
Full Changelog
- Rewrote the twitchAPI to be async
- twitchAPI now uses Objects instead of dictionaries
- added automatic pagination to all relevant API endpoints
- PubSub now uses async callbacks
- EventSub subscribing and unsubscribing is now async
- Added a alpha version of a Twitch Chat Bot implementation
- switched AuthScope
CHANNEL_MANAGE_CHAT_SETTINGS
toMODERATOR_MANAGE_CHAT_SETTINGS
- Added the following AuthScopes:
MODERATOR_MANAGE_ANNOUNCEMENTS
MODERATOR_MANAGE_CHAT_MESSAGES
USER_MANAGE_CHAT_COLOR
CHANNEL_MANAGE_MODERATORS
CHANNEL_READ_VIPS
CHANNEL_MANAGE_VIPS
USER_MANAGE_WHISPERS
- added
twitchAPI.helper.first()
helper function - Added the following new Endpoints:
- "Send Whisper"
- "Remove Channel VIP"
- "Add Channel VIP"
- "Get VIPs"
- "Add Channel Moderator"
- "Remove Channel Moderator"
- "Get User Chat Color"
- "Update User Chat Color"
- "Delete Chat Message"
- "Send Chat Announcement"
- "Get Soundtrack Current Track"
- "Get Soundtrack Playlist"
- "Get Soundtrack Playlists"
- Removed the folllowing deprecated Endpoints:
- "Get Banned Event"
- "Get Moderator Events"
- "Get Webhook Subscriptions"
- The following Endpoints got changed:
- Added
igdb_id
search parameter toTwitch.get_games()
- Removed the Voting related fields in
Twitch.create_poll()
due to being deprecated - Updated the logic in
Twitch.update_custom_reward()
to avoid API errors - Removed
id
parameter fromTwitch.get_hype_train_events()
- Fixed the range check in
Twitch.get_channel_information()
- Added
Twitch.app_auth_refresh_callback
andTwitch.user_auth_refresh_callback
are now async- Added
oauth.get_user_info()
- UserAuthenticator:
- You can now set the document that will be shown at the end of the Auth flow by setting
UserAuthenticator.document
- The optional callback is now called with the access and refresh token instead of the user token
- Added browser controls to
UserAuthenticator.authenticate()
- You can now set the document that will be shown at the end of the Auth flow by setting
- removed
requests
andwebsockets
libraries from the requirements (resulting in smaller library footprint)