tessl install tessl/pypi-py-cord@2.6.0A modern, async-ready Python API wrapper for Discord with comprehensive bot development features
Agent Success
Agent success rate when using this tile
93%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.11x
Baseline
Agent success rate without this tile
84%
{
"context": "This criteria evaluates how well the engineer uses py-cord's error handling and exponential backoff capabilities to build a robust command error handler. The focus is on proper exception handling, retry logic implementation, and appropriate use of py-cord's error classes and retry mechanisms.",
"type": "weighted_checklist",
"checklist": [
{
"name": "HTTPException Handling",
"description": "Uses discord.HTTPException or its subclasses (e.g., Forbidden, NotFound) to catch HTTP errors from the Discord API and provides appropriate user feedback through ctx.send() or similar methods.",
"max_score": 20
},
{
"name": "RateLimitError Handling",
"description": "Specifically catches and handles discord.RateLimitError (or uses retry_after attribute from HTTPException) to implement retry logic when rate limits are encountered.",
"max_score": 15
},
{
"name": "Command Error Types",
"description": "Handles command-specific errors from discord.ext.commands such as BadArgument, MissingPermissions, CommandNotFound, or similar command errors with appropriate user messages.",
"max_score": 15
},
{
"name": "Exponential Backoff",
"description": "Implements exponential backoff for retries by doubling the delay after each attempt (1s, 2s, 4s, 8s, 16s) using asyncio.sleep() with calculated delays.",
"max_score": 20
},
{
"name": "Retry Limit",
"description": "Enforces a maximum retry limit (5 attempts as specified) and stops retrying after reaching this limit, notifying the user when maximum retries are exceeded.",
"max_score": 15
},
{
"name": "Context Usage",
"description": "Uses commands.Context (ctx) to send error messages to the appropriate channel via ctx.send(), ctx.reply(), or similar context methods.",
"max_score": 10
},
{
"name": "Error Handler Setup",
"description": "Properly registers the error handler with the bot using @bot.event decorator for on_command_error or bot.add_listener(), or integrates with the bot's error handling system.",
"max_score": 5
}
]
}