You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/getting-started/changelog.rst
+53Lines changed: 53 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,14 +12,35 @@ Changelog
12
12
- twitchio
13
13
- Additions
14
14
- Added ``__hash__`` to :class:`twitchio.PartialUser` allowing it to be used as a key.
15
+
- Added the ``--create-new`` interactive script to ``__main__`` allowing boiler-plate to be generated for a new Bot.
15
16
16
17
- Changes
17
18
- Adjusted the Starlette logging warning wording.
19
+
- Delayed the Starlette logging warning and removed it from ``web/__init__.py``.
18
20
- :class:`twitchio.PartialUser`, :class:`twitchio.User` and :class:`twitchio.Chatter` now have ``__hash__`` implementations derived from :class:`~twitchio.PartialUser`, which use the unique ID.
19
21
20
22
- Bug fixes
21
23
- :meth:`twitchio.Clip.fetch_video` now properly returns ``None`` when the :class:`twitchio.Clip` has no ``video_id``.
22
24
- :class:`twitchio.ChatterColor` no longer errors whan no valid hex is provided by Twitch.
25
+
- Some general typing/spelling errors cleaned up in Documentation and Logging.
26
+
- Removed some redundant logging.
27
+
- Fixed internal parsing of the payload received in :meth:`twitchio.PartialUser.warn_user` which was resulting in an error.
28
+
29
+
- twitchio.Client
30
+
- Bug fixes
31
+
- Fixed tokens not being saved properly when ``load_tokens`` was ``False`` in :meth:`twitchio.Client.login`
32
+
33
+
- twitchio.AutoClient
34
+
- Additions
35
+
- Added ``force_subscribe`` keyword argument to :class:`twitchio.AutoClient`, allowing subscriptions passed to be made everytime the client is started.
36
+
- Added ``force_scale`` keyword argument to :class:`twitchio.AutoClient`, allowing the associated Conduit to be scaled up/down on startup.
37
+
- Added more informative logging in places.
38
+
39
+
- Changes
40
+
- Optimised the cleanup of conduit websockets. This largely only affects applications connected to large amounts of shards.
41
+
42
+
- twitchio.ext.commands.AutoBot
43
+
- Updates are identical to the updates made in the ``twitchio.AutoClient`` changelog above.
23
44
24
45
- twitchio.eventsub
25
46
- Additions
@@ -82,19 +103,51 @@ Changelog
82
103
- Added :meth:`twitchio.ShoutoutReceive.respond`
83
104
- Added :meth:`twitchio.StreamOnline.respond`
84
105
- Added :meth:`twitchio.StreamOffline.respond`
106
+
107
+
- Bug fixes
108
+
- Remove the unnecessary ``token_for`` parameter from :meth:`twitchio.ChannelPointsReward.fetch_reward`. `#510 <https://github.com/PythonistaGuild/TwitchIO/pull/510>`_
109
+
110
+
- twitchio.web.AiohttpAdapter
111
+
- Bug fixes
112
+
- Fixed the redirect URL not allowing HOST/PORT when a custom domain was passed.
113
+
- The redirect URL is now determined based on where the request came from.
114
+
- Now correctly changes the protocol to ``https`` when SSL is used directly on the adapter.
115
+
116
+
- twitchio.web.StarletteAdapter
117
+
- Additions
118
+
- Added the ``timeout_graceful_shutdown`` keyword parameter which allows controlling how long ``Starlette/Uvicorn`` will wait to gracefully close.
119
+
- Added the ``timeout_keep_alive`` keyword parameter which allows controlling how long ``Uvicorn`` will wait until closing Keep-Alive connections after not receiving any data.
120
+
121
+
- Bug fixes
122
+
- Fixed the redirect URL not allowing HOST/PORT when a custom domain was passed.
123
+
- The redirect URL is now determined based on where the request came from.
124
+
- Fixed Uvicorn hanging the process when attempting to close the :class:`asyncio.Loop` on **Windows**.
125
+
- After a default of ``3 seconds`` Uvicorn will be forced closed if it cannot gracefully close in this time. This time can be changed with the ``timeout_graceful_shutdown`` parameter.
126
+
- Now correctly changes the protocol to ``https`` when SSL is used directly on the adapter.
- Added :attr:`twitchio.ext.commands.Command.signature` which is a POSIX-like signature for the command.
141
+
- Added :attr:`twitchio.ext.commands.Command.parameters` which is a mapping of parameter name to :class:`inspect.Parameter` associated with the command callback.
92
142
- Added :attr:`twitchio.ext.commands.Command.help` which is the docstring of the command callback.
93
143
- Added ``__doc__`` to :class:`~twitchio.ext.commands.Command` which takes from the callback ``__doc__``.
- :class:`~twitchio.ext.commands.Context` is now ``Generic`` and accepts a generic argument bound to :class:`~twitchio.ext.commands.Bot` or :class:`~twitchio.ext.commands.AutoBot`.
97
147
148
+
- Bug fixes
149
+
- Prevent multiple :class:`~twitchio.ext.commands.Component`'s of the same name being added to a bot resulting in one overriding the other.
Before running the code below, there just a couple more steps we need to take.
32
+
Before running the code below, there are just a couple more steps we need to take. **You only have to do this sequence of steps once. Or if you change the scopes used.**
33
33
34
34
#. Create a new Twitch account. This will be the dedicated bot account.
35
35
#. Enter your CLIENT_ID, CLIENT_SECRET, BOT_ID and OWNER_ID into the placeholders in the below example. See :ref:`faqs` on how to retrieve the ``BOT_ID`` and ``OWNER_ID``.
@@ -41,8 +41,6 @@ Before running the code below, there just a couple more steps we need to take.
41
41
.. note::
42
42
If you are unsure how to get the user IDs for BOT_ID and OWNER_ID, please check :ref:`bot-id-owner-id`
43
43
44
-
**You only have to do this sequence of steps once. Or if the scopes need to change.**
45
-
46
44
.. code:: python3
47
45
48
46
"""An example of connecting to a conduit and subscribing to EventSub when a User Authorizes the application.
@@ -90,6 +88,7 @@ Before running the code below, there just a couple more steps we need to take.
90
88
owner_id=OWNER_ID,
91
89
prefix="!",
92
90
subscriptions=subs,
91
+
force_subscribe=True,
93
92
)
94
93
95
94
async def setup_hook(self) -> None:
@@ -236,6 +235,10 @@ Before running the code below, there just a couple more steps we need to take.
0 commit comments