or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/py-cord@2.6.x
tile.json

tessl/pypi-py-cord

tessl install tessl/pypi-py-cord@2.6.0

A 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%

rubric.jsonevals/scenario-3/

{
  "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
    }
  ]
}