fix (tasklist): Bound checks in task hook.
This commit is contained in:
@@ -151,17 +151,18 @@ class TasklistCog(LionCog):
|
|||||||
|
|
||||||
ecog = self.bot.get_cog('Economy')
|
ecog = self.bot.get_cog('Economy')
|
||||||
recent = await ecog.data.TaskTransaction.count_recent_for(member.id, member.guild.id) or 0
|
recent = await ecog.data.TaskTransaction.count_recent_for(member.id, member.guild.id) or 0
|
||||||
max_to_reward = max(limit-recent, 0)
|
max_to_reward = limit - recent
|
||||||
to_reward = unrewarded[:max_to_reward]
|
if max_to_reward > 0:
|
||||||
|
to_reward = unrewarded[:max_to_reward]
|
||||||
|
|
||||||
count = len(to_reward)
|
count = len(to_reward)
|
||||||
amount = count * reward
|
amount = count * reward
|
||||||
await ecog.data.TaskTransaction.reward_completed(member.id, member.guild.id, count, amount)
|
await ecog.data.TaskTransaction.reward_completed(member.id, member.guild.id, count, amount)
|
||||||
await tasklist.update_tasks(*(task.taskid for task in to_reward), rewarded=True)
|
await tasklist.update_tasks(*(task.taskid for task in to_reward), rewarded=True)
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"Rewarded <uid: {member.id}> in <gid: {member.guild.id}> "
|
f"Rewarded <uid: {member.id}> in <gid: {member.guild.id}> "
|
||||||
f"'{amount}' coins for completing '{count}' tasks."
|
f"'{amount}' coins for completing '{count}' tasks."
|
||||||
)
|
)
|
||||||
|
|
||||||
@cmds.hybrid_group(
|
@cmds.hybrid_group(
|
||||||
name=_p('group:tasklist', "tasklist")
|
name=_p('group:tasklist', "tasklist")
|
||||||
|
|||||||
Reference in New Issue
Block a user