Skip to content

Welcome to ScurryPy


Fire-breathing squirrel

ScurryPy is a fully extensible foundation for Discord bots and frameworks. Build anything from a simple bot to a complete custom framework, with the architecture entirely up to you.

Features


ScurryPy is designed to be small, predictable, and transparent:

  • Lightweight core
  • Rate limit handling
  • Automatic session & gateway management
  • Automatic sharding
  • Predictable event models and resource classes

Why ScurryPy?


ScurryPy is built on one idea: ✨clarity over magic

  • Every operation is explicit
  • No hidden behavior or black boxes
  • Components do one job and do it predictably

This philosophy ensures that you can extend, compose, and control every part of your bot without hidden surprises.

If you want to understand your bot rather than fight it, you're in the right place.

For a more in-depth explanation, see the manifesto!

Extending ScurryPy


ScurryPy is intentionally minimal. You can build helpers, routers, command systems, and even entire frameworks on top of it.

However, certain core systems cannot be modified:

  • Gateway behavior
  • REST internals
  • Discord-enforced specifications
  • Event model definitions

These remain stable to ensure compliance with the Discord API.


  • FAQ - answers to some burning questions
  • Getting Started - set up your first bot
  • API - full function and class documentation
  • Events - event objects and signatures
  • Resources - REST resource helpers
  • Models - objects returned by endpoints
  • Parameters - typed dicts for specifying options related to objects
  • Doc Notes - footnotes that appear throughout the docs
  • Coverage - coverage status for Discord's API docs
  • Internals - how ScurryPy works internally