localstack /
localstack
💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline
34/100 healthLoading repository data…
imptype / repository
A serverless Python Discord bot hosted for free on Vercel.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
[][1]
This Discord bot is SERVERLESS which means it can run for FREE and be ALWAYS online on Vercel!
You can also treat this repository as a template for making serverless bots with the discohook library.
/ping - a simple command that tells you the bot's latency.An example deployment of BasicBot is at: https://basic-bot.vercel.app (Not recommended to share publically)
Invite the bot and test the features: https://discord.com/oauth2/authorize?client_id=1257121896021889094
.
├─ src/ # Source code
│ ├─ cogs/ # All command files
│ │ └─ ping.py # Ping command
│ └─ bot.py # Defines the Discord bot
├─ .gitignore # Hides certain files
├─ LICENSE # License
├─ README.md # Defines this README page
├─ example-config.json # Example of a config.json file
├─ main.py # Entry point
├─ requirements.txt # Library dependencies
└─ vercel.json # Vercel deployment configuration
A quick way to run your own instance of the bot is to click the Vercel Deploy Button:
[][1]
Make sure you have these first.
python -V in Terminal to check what Python version you have.git commit in Terminal.ngrok.exe to a folder like C:\Program Files\Ngrok\bin.Now invite your bot to your server if you haven't already and run the slash commands!
Remember:
➔ Whenever you start coding, start Uvicorn and Ngrok and update your Interactions Endpoint URL.
➔ Whenever you make code changes, CTRL+S to save, CTRL+C Uvicorn and up and enter to start it again.
➔ Whenever you change client side stuff, like command options and descriptions, sync your commands again.
➔ Sometimes you need to CTRL+R (refresh) your Discord (clears cache) after syncing for commands to show.
➔ You can use the uvicorn main:app --reload argument to reload the server automatically when files change.
Make a GitHub repository and link it to the BasicBot folder.
Read and write permissions for Contents in Repository Permissions.BasicBot folder in Terminal.git init to initialize a new local Git repository.git config user.email "your-email@example.com"git config user.name "Your Name"git remote add origin https://github.com/your-username/your-repo.git to link them.git add . and commit them with git commit -m "Initial commit".git push -u origin main.BasicBot folder and follow the prompts to create a new repository.Login to Vercel and add your GitHub repository.
uvicorn main:app.pip install -r requirements.txt.config.json into Environment Variables and click Deploy.vercel.json uses an edited version of the NPM package @vercel/python to fix event loop issues.Set the Interactions Endpoint URL to <url>/interactions where url is your Vercel URL.
Your bot is now online 24/7 in a serverless environment. Cold starts are < 3 seconds, so your bot will reply in time!
Some things to note:
➔ Serverless means cache will not retain after ~5 minutes of ina
Selected from shared topics, language and repository description—not editorial ratings.
localstack /
💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline
34/100 healthmemvid /
Memory layer for AI Agents. Replace complex RAG pipelines with a serverless, single-file memory layer. Give your agents instant retrieval and long-term memory.
96/100 healthC:\Program Files\Ngrok\bin and click Ok.curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | \
sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && \
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | \
sudo tee /etc/apt/sources.list.d/ngrok.list && \
sudo apt update && sudo apt install ngrok
ngrok config add-authtoken <token> in Terminal.Clone this repository.
C:\Users\imp\Documents\Projects.
git clone https://github.com/imptype/BasicBot to copy this repo into a BasicBot folder.https://github.com/imptype/BasicBot and choose a location, then click Clone.Open the BasicBot folder in Visual Studio Code.
Rename example-config.json to config.json and paste the values in the quotes.
DISCORD_APPLICATION_ID is your Discord Application ID.DISCORD_PUBLIC_KEY is your Discord Public Key.DISCORD_BOT_TOKEN is your Discord Bot Token, don't share it!ERROR_LOG_WEBHOOK is a Discord webhook URL that relays error messages your bot encounters.
SYNC_PASSWORD is a password set by you and you type it when you sync commands later on.Install requirements. A venv is recommended.
python -m venv venv to create a venv folder.venv/Scripts/activatesource venv/bin/activatepip install -r requirements.txt to install dependencies to that venv folder.
discohook subclasses the ASGI app Starlette, it adds an /interactions route and Discord functions.uvicorn is the ASGI server used to run the ASGI app and start a web server.deactivate. You still need to be in venv when running the bot though.Run uvicorn main:app to start the web server.
127.0.0.1:8000 AKA localhost:8000.In another Terminal, run ngrok http 8000 to start the reverse proxy.
https://123123123.ngrok.io or ends with ngrok-free.app.Set the Interactions Endpoint URL to <url>/interactions where url is your Ngrok URL.
discohook recieves Discord interactions/requests by default through the /interactions route.Visit the /api/dash route of your website to register slash commands for the first time.
127.0.0.1/api/dash or localhost/api/dash or <ngrok-url>/api/dash either one works.SYNC_PASSWORD you set in config.json.123123123.vercel.app2FastLabs /
Flexible and powerful framework for managing multiple AI agents and handling complex conversations
94/100 healthaws /
CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM
87/100 healthaws-powertools /
A developer toolkit to implement Serverless best practices and increase developer velocity.
89/100 healthtcgoetz /
Download and parse data from Garmin Connect or a Garmin watch, FitBit CSV, and MS Health CSV files into and analyze data in Sqlite serverless databases with Jupyter notebooks.
89/100 health