Dressed
What is Dressed?
Dressed is a Discord library whose focus is leveraging the interactions endpoint system for Discord. It’s maintained by Inbestigator and the source code is available on GitHub.
I’ve been using Dressed in production for my own bot for a community called HardCarryClub. While that bot has a more complex setup with gateway connections, Dressed has proven capable of handling both simple interaction-only bots and more demanding use cases.
Limitations of Dressed
As a newer library, you may occasionally encounter bugs, though the maintainer is responsive to issues. Over the past year of testing, I’ve found Inbestigator quick to resolve any limitations or issues that arise.
How We Will Use Dressed
Dressed has a great getting started guide and if you’re looking to explore it I’d definitely start there. The concepts there will carry over into everything that we do.
SST
What is SST?
SST is an infrastructure-as-code framework that simplifies deploying serverless applications on AWS. It handles resource provisioning, environment management, and deployments while letting you define infrastructure in TypeScript.
SST has a great getting started guide and if you’re looking to explore it I’d definitely start there. The concepts there will carry over into everything that we do.
Setting up AWS
I’m not going to rewrite the book on how to set up AWS with SST, they have a fantastic guide on their documentation:
As for cost while you can’t directly avoid cost if you’re on the full account, you can setup a “zero spend budget” alert to get notified when your AWS account is about to go over budget. Even with the full account, you still have access to free usage of many services. AWS also provides a “free plan” account as part of their free tier.
You can also read more about the free tier and its differences on AWS’ website:
Warning (IP Address Limitations)
Discord has relatively strict limiting on IP addresses and how many failed requests you can send. I’d highly recommend reading through their documentation on the matter.
This is important to understand because AWS does not guarantee the outbound IPv4 address. This means that you and 100 other developers could be using the same IP address, and if one of you exceeds the failed request threshold then it’s a CloudFlare IP ban for the entire IP and it means that you and all 100 other developers will be temporarily restricted.
This isn’t exclusive to AWS, it’s a common issue with any cloud provider that uses a shared IP address pool. The only way to get around it in general is to have a static IPv4 address.