Back to APIs list

Discord API examples & templates

Use these vals as a playground to view and fork Discord API examples and templates on Val Town. Run any example below or find templates that can be used as a pre-built solution.
stevekrouse avatar
docFeedbackForm
@stevekrouse
HTTP (deprecated)
Forked from stevekrouse/form
ericlee4 avatar
eclipseStreamData
@ericlee4
HTTP (deprecated)
List of Risk of Rain 2 eclipse streamers Data updated every 15 minutes viewerCount is the highest viewer count detected for the last stream Detects the tags "Eclipse" and "E8" in the title and tags (case insensitive)
timlin avatar
docFeedbackForm
@timlin
HTTP (deprecated)
Forked from stevekrouse/docFeedbackForm
janpaul123 avatar
compareEmbeddings
@janpaul123
Script
An interactive, runnable TypeScript val by janpaul123
parkerdavis avatar
docFeedbackForm
@parkerdavis
HTTP (deprecated)
Forked from stevekrouse/docFeedbackForm
ejfox avatar
inventory
@ejfox
HTTP
* This val creates an interactive tech stack wizard that generates a video game-style inventory screen. * It uses React for the UI, leverages emoji and Unicode symbols for a visually rich experience, and * incorporates Tailwind CSS for elegant, grayscale styling. * The wizard allows users to select tools, libraries, and APIs, then displays them in a shareable format.
neverstew avatar
inTheBackgroundExample
@neverstew
HTTP (deprecated)
inTheBackground With the addition of the "early return" feature of web handlers, you can now process short background tasks in vals. This can be really useful for occasions where an immediate response is required, with a subsequent update a few seconds later e.g. a Discord bot that calls ChatGPT needs to respond within a few seconds, which can be too fast for the AI to generate a response. We can instead reply immediately and then update that message later, inTheBackground Simply wrap something in inTheBackground and it will do just that! In this example, we log something a few seconds later than the web response is sent back.
janpaul123 avatar
blogPostEmbeddingsDimensionalityReduction
@janpaul123
Script
Forked from janpaul123/compareEmbeddings
stevekrouse avatar
ideas
@stevekrouse
HTTP (deprecated)
Request for vals Here's my personal list of things I want to see on Val Town. I may build them myself at some point, but to the glory goes the person who builds it first. If you want to collaborate or get clarification on any of these ideas, please drop me a comment or reach out on discord. Status Page Possibly the singular most popular thing to do on Val Town is to build a downtime detector for your website. This one from @healeycodes is super popular as well as this fork by @andreterron . Sites like cronitor do this and also seamlessly provide a status page as well, for example like this one: https://status.val.town/. It would be awesome if we built a fork of these downtime detectors that also stored historical uptime/downtime (and possibly latency) information in sqlite, and then provided an http interface to view the data as well. Free Stock API Proxy I have been working on a stock price api tool, initially for use within Google Sheets: https://www.val.town/v/stevekrouse/stockPrice It would be awesome to expand this to also be useful to other folks, ie folks within Val Town. For example, it could be used to build stock price trackers. Our BTC price tracker is pretty popular. I think one for stocks would be similarly popular, but it'd need someone to provide a good free stock API. Maybe one exists or maybe we need to proxy it.
liamdanielduffy avatar
REACT_TODO_LIST_CONTENTS
@liamdanielduffy
Script
// https://api.val.town/v1/express/liamdanielduffy.reactTodoListWebsite
janpaul123 avatar
valtownsemanticsearch
@janpaul123
HTTP (deprecated)
Forked from pomdtr/valTownSearch
pomdtr avatar
val_town_by_example_toc
@pomdtr
Cron
// edit this if you want to add new items to the home page
janpaul123 avatar
indexValsTurso
@janpaul123
Cron
Forked from sqlite/leaderboard
stevekrouse avatar
date_me_docs_cache
@stevekrouse
Script
An interactive, runnable TypeScript val by stevekrouse
iamseeley avatar
val_town_by_example_toc
@iamseeley
Cron
Forked from pomdtr/val_town_by_example_toc
stevekrouse avatar
upgradeHTTPPreviewVals
@stevekrouse
Script
Auto-Upgrade for HTTP Preview This val is experimentally testing if we can use an LLM to determine if an old-style HTTP val needs to be upgraded for the new HTTP runtime, currently in preview. You can read more about the breaking change and upgrade proccess here: https://blog.val.town/blog/http-preview/#breaking-changes In some light testing, it seems like ChatGPT 3.5 and 4o both are bad at this task, so I'm pausing experimenting with this for now. Example output from 4o: [ { "name": "harlequinChickadee", "probabilityUpgradeNeeded": true, "reason": "The current code structure has several functions and program logic outside the main handler, including word selection, game state management, and SVG generation. These parts would not re-run with the new runtime, potentially affecting functionality. They need to be moved inside the handler to ensure consistent behavior across requests." }, { "name": "redElephant", "probabilityUpgradeNeeded": "100%", "reason": "The initialization of `fs` and `vscode` objects should occur \n inside the handler in the new runtime in order to ensure that they are \n freshly created for each request. This is critical since the new runtime \n does not rerun code outside of the handler for each request.." }, { "name": "untitled_indigoNightingale", "probabilityUpgradeNeeded": false, "reason": "The code initializes and configures the Hono app outside of the handler, but it does not appear to have any stateful logic that would need to be re-calculated with each request. Each request will call the handler provided by Hono and should behave the same in the new runtime." }, { "name": "untitled_pinkRoundworm", "probabilityUpgradeNeeded": true, "reason": "The functions `addComment` and `getComments` as well as the initialization \nof the KEY variable perform actions that are intended to be run per request. These need to be moved \ninside the relevant HTTP handler to ensure the behavior remains consistent in the new runtime." }, { "name": "untitled_harlequinIguana", "probabilityUpgradeNeeded": false, "reason": "The provided code defines the handler directly without any side effects or additional code outside the handler. The behavior should remain the same in the new runtime." }, { "name": "untitled_moccasinHeron", "probabilityUpgradeNeeded": false, "reason": "The code outside the handler is just a constant string declaration, which does not change behavior between requests. The handler itself handles requests correctly and independently." }, { "name": "untitled_maroonSwallow", "probabilityUpgradeNeeded": false, "reason": "All the code, including the check for authentication,\n is inside the handler function. This means the behavior will stay \n the same with the new runtime." }, { "name": "wikiOG", "probabilityUpgradeNeeded": true, "reason": "The function `getWikipediaInfo` defined outside of the handler makes network requests and processes data for each request. In the new runtime, this function would only be executed once and cached. To ensure the same behavior in the new runtime, this function should be moved into the handler." }, { "name": "parsePostBodyExample", "probabilityUpgradeNeeded": false, "reason": "All the code is inside the handler, so the behavior will remain consistent in the new runtime." }, { "name": "discordEventReceiver", "probabilityUpgradeNeeded": false, "reason": "All the relevant code for handling requests and logging input is inside the handler.\n No code needs to be moved for the new runtime to function correctly." } ] Feel free to fork this and try it yourself! If you could get it working, it'd be a big help for us as we upgrade the thousands of HTTP vals. Future ideas: Better LLM (Claude 3.5) Better prompt More examples JSON mode having it reply with upgraded code send pull requests to users with public vals that probably need upgrading