FeaturesTemplatesShowcaseTownie
AI
BlogDocsPricing
Log inSign up
iamseeley
iamseeleyvalTownUser
Public
Like
3
valTownUser
Home
Code
2
README.md
main.tsx
Branches
1
Pull requests
Remixes
History
Environment variables
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in miliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
8/26/2024
README.md

👤 valTownUser

The valTownUser object provides a convenient interface to interact with Val Town's API and access user-specific information and functionalities.

User Information

getUserInfo()

Fetches and caches the user's information.

  • Use case: Retrieving all user details at once.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getUserInfo = () => valTownUser.getUserInfo(); // Example usage: const userInfo = await getUserInfo(); console.log('User Information:', userInfo); // You can also destructure specific properties you need: const { username, id, email, tier } = await getUserInfo(); console.log(`Username: ${username}`); console.log(`User ID: ${id}`); console.log(`Email: ${email}`); console.log(`Account Tier: ${tier}`);

getUsername()

Retrieves the user's username.

  • Use case: Displaying the current user's name in a val.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getUsername = () => valTownUser.getUsername(); // Example usage: const username = await getUsername(); console.log(`Current user: ${username}`);

getId()

Retrieves the user's ID.

  • Use case: Using the user ID for database queries or API calls.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getId = () => valTownUser.getId(); // Example usage: const userId = await getId(); console.log(`User ID: ${userId}`);

getBio()

Retrieves the user's biography.

  • Use case: Displaying the user's bio on a profile page.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getBio = () => valTownUser.getBio(); // Example usage: const bio = await getBio(); console.log(`User bio: ${bio || 'Not set'}`);

getProfileImageUrl()

Retrieves the URL of the user's profile image.

  • Use case: Showing the user's avatar in a val.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getProfileImageUrl = () => valTownUser.getProfileImageUrl(); // Example usage: const profileImageUrl = await getProfileImageUrl(); console.log(`Profile image URL: ${profileImageUrl || 'Not set'}`);

getEmail()

Retrieves the user's email address.

  • Use case: Sending notifications or verifications.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getEmail = () => valTownUser.getEmail(); // Example usage: const email = await getEmail(); console.log(`User email: ${email}`);

getTier()

Retrieves the user's account tier.

  • Use case: Implementing tier-specific features.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getTier = () => valTownUser.getTier(); // Example usage: const tier = await getTier(); console.log(`User tier: ${tier}`);

URL Generation

getEndpointUrl(valName)

Generates the endpoint URL for a specified val.

  • Use case: Creating links to val endpoints in your application.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getEndpointUrl = (valName: string) => valTownUser.getEndpointUrl(valName); // Example usage: const endpointUrl = await getEndpointUrl('mySitesServer'); console.log(`Endpoint URL: ${endpointUrl}`);

getValUrl(valName)

Generates the Val Town URL for a specified val.

  • Use case: Creating links to val pages in Val Town.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getValUrl = (valName: string) => valTownUser.getValUrl(valName); // Example usage: const valUrl = await getValUrl('myVal'); console.log(`Val URL: ${valUrl}`);

User Activity

getLikedVals(options)

Retrieves the vals liked by the user.

  • Use case: Displaying a list of the user's favorite vals.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getLikedVals = (options = {}) => valTownUser.getLikedVals(options); // Example usage: const likedVals = await getLikedVals({ limit: 5 }); console.log('Liked vals:', likedVals.data);

getComments(options)

Retrieves comments related to the user.

  • Use case: Showing a user's comment history.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getComments = (options = {}) => valTownUser.getComments(options); // Example usage: const comments = await getComments({ limit: 10, relationship: 'given' }); console.log('User comments:', comments.data);

getReferences(options)

Retrieves references to the user's vals.

  • Use case: Tracking how often a user's vals are used by others.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getReferences = (options = {}) => valTownUser.getReferences(options); // Example usage: const references = await getReferences({ limit: 5 }); console.log('Val references:', references.data);

Blob Management

listBlobs(prefix)

Lists the user's blobs.

  • Use case: Displaying a file manager for the user's stored data.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const listBlobs = (prefix?: string) => valTownUser.listBlobs(prefix); // Example usage: const blobs = await listBlobs(); console.log('User blobs:', blobs);

storeBlob(key, data)

Stores a new blob or updates an existing one.

  • Use case: Uploading user files or storing large datasets.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const storeBlob = (key: string, data: any) => valTownUser.storeBlob(key, data); // Example usage: await storeBlob('myFile.txt', 'Hello, World!'); console.log('Blob stored successfully');

getBlob(key)

Retrieves a specific blob.

  • Use case: Downloading a user's stored file.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const getBlob = async (key: string) => { const blobData = await valTownUser.getBlob(key); return new TextDecoder().decode(new Uint8Array(blobData)); }; // Example usage: const blobContent = await getBlob('myFile.txt'); console.log('Blob content:', blobContent);

deleteBlob(key)

Deletes a specific blob.

  • Use case: Removing old or unnecessary files.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const deleteBlob = (key: string) => valTownUser.deleteBlob(key); // Example usage: await deleteBlob('myFile.txt'); console.log('Blob deleted successfully');

Val Management

listVals(options)

Lists the user's vals.

  • Use case: Displaying a dashboard of the user's created vals.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const listVals = (options = {}) => valTownUser.listVals(options); // Example usage: const userVals = await listVals({ limit: 5 }); console.log('User vals:', userVals.data);

createVal(valInfo)

Creates a new val.

  • Use case: Programmatically creating vals based on user input.
Create val
import { valTownUser } from "https://esm.town/v/iamseeley/valTownUser"; export const createVal = (valInfo: any) => valTownUser.createVal(valInfo); // Example usage: const newVal = await createVal({ name: 'myNewVal', code: 'console.log("Hello, World!");' }); console.log('Created val:', newVal);

updateVal(valId, updates)

Updates an existing val.

  • Use case: Implementing an "edit val" feature in your application.

deleteVal(valId)

Deletes a specific val.

  • Use case: Allowing users to remove their vals through your interface.

SQLite Database Operations

executeSqlite(statement)

Executes a SQLite statement.

  • Use case: Running custom queries on the user's database.

listTables()

Lists all tables in the user's SQLite database.

  • Use case: Displaying the structure of a user's database.

getTableSchema(tableName)

Retrieves the schema of a specific table.

  • Use case: Showing the structure of a particular table.

getTableContent(tableName, limit)

Retrieves the content of a specific table.

  • Use case: Displaying the data stored in a user's table.
Go to top
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Product
FeaturesPricing
Developers
DocsStatusAPI ExamplesNPM Package Examples
Explore
ShowcaseTemplatesNewest ValsTrending ValsNewsletter
Company
AboutBlogCareersBrandhi@val.town
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.