Skip to content

Commit 8b631fb

Browse files
committed
Merge branch 'master' of https://github.com/TwitchIO/TwitchIO
2 parents b4dba3c + 097201e commit 8b631fb

File tree

4 files changed

+24
-4
lines changed

4 files changed

+24
-4
lines changed

docs/changelog.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
:orphan:
22

3+
Master
4+
======
5+
- TwitchIO
6+
- Bug fixes
7+
- Fix IndexError when getting prefix when empty message is sent in a reply.
8+
9+
310
2.7.0
411
======
512
- TwitchIO

twitchio/ext/commands/bot.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,9 @@ async def get_prefix(self, message):
173173
prefixes = await self.__get_prefixes__(message)
174174
message_content = message.content
175175
if "reply-parent-msg-id" in message.tags:
176-
message_content = message_content.split(" ", 1)[1]
176+
message_content = " ".join(message.content.split(" ")[1:])
177+
else:
178+
message_content = message.content
177179
if not isinstance(prefixes, str):
178180
for prefix in prefixes:
179181
if message_content.startswith(prefix):

twitchio/ext/commands/core.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,6 @@ async def invoke(self, context: Context, *, index=0) -> None:
201201
# TODO Docs
202202
if not context.view:
203203
return
204-
args, kwargs = await self.parse_args(context, self._instance, context.view.words, index=index)
205-
context.args, context.kwargs = args, kwargs
206204

207205
async def try_run(func, *, to_command=False):
208206
try:
@@ -213,6 +211,17 @@ async def try_run(func, *, to_command=False):
213211
else:
214212
context.bot.run_event("command_error", context, _e)
215213

214+
try:
215+
args, kwargs = await self.parse_args(context, self._instance, context.view.words, index=index)
216+
except (MissingRequiredArgument, BadArgument) as e:
217+
if self.event_error:
218+
args_ = [self._instance, context] if self._instance else [context]
219+
await try_run(self.event_error(*args_, e))
220+
221+
context.bot.run_event("command_error", context, e)
222+
return
223+
224+
context.args, context.kwargs = args, kwargs
216225
check_result = await self.handle_checks(context)
217226

218227
if check_result is not True:

twitchio/ext/routines/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,9 @@ async def _routine(self, *args, **kwargs) -> None:
360360
if self._remaining_iterations == 0:
361361
self._remaining_iterations = self._iterations
362362

363+
iteration: int = 0
363364
while True:
365+
iteration += 1
364366
start = datetime.datetime.now(datetime.timezone.utc)
365367

366368
try:
@@ -387,7 +389,7 @@ async def _routine(self, *args, **kwargs) -> None:
387389
break
388390

389391
if self._time:
390-
sleep = compute_timedelta(self._time + datetime.timedelta(days=self._completed_loops))
392+
sleep = compute_timedelta(self._time + datetime.timedelta(days=iteration))
391393
else:
392394
sleep = max((start - datetime.datetime.now(datetime.timezone.utc)).total_seconds() + self._delta, 0)
393395

0 commit comments

Comments
 (0)