Implemented twitch stream integration for fetching stream status and thumbnail frames from stream
Added new /twitch [channel name or channel url] command which can be used to start tracking stream status of a channel. Stream status message is updated once a minute for as long as the stream is online
Reworked CommandActivity send_or_update_host_message implementation so that media messages (messages with images) can be sent and modified same as messages with just text. Previously CommandActivity did not have any support for media mesasges as Twitch command is the first activity that uses media messages.
Added error handling for 'Message is not modified' error which Telegram returns if message is requested to be edited but the request contains same content as the current message.
Created a new exception handling function decorator @handle_exception_async for simple one line definition
Extended readme by adding tips on using PyCharm Community Edition. Fixed Sonar banners on top of the readme
Renamed all methods in async_http module to be {http request method}_{additional_descriptors}. Now they are more concise, for example method get and post return ClientResponse without checks or processing. get_json checks if response status is 200 ok. If so, returns json content of the response and otherwise raises and ClientResponseError
/twitch [channel name or channel url]
command which can be used to start tracking stream status of a channel. Stream status message is updated once a minute for as long as the stream is onlinesend_or_update_host_message
implementation so that media messages (messages with images) can be sent and modified same as messages with just text. Previously CommandActivity did not have any support for media mesasges as Twitch command is the first activity that uses media messages.@handle_exception_async
for simple one line definitionasync_http
module to be{http request method}_{additional_descriptors}
. Now they are more concise, for example methodget
andpost
return ClientResponse without checks or processing.get_json
checks if response status is200 ok
. If so, returns json content of the response and otherwise raises and ClientResponseError