A modern, async-ready Python API wrapper for Discord with comprehensive bot development features
Overall
score
93%
{
"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
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-py-corddocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10