1import { BskyAgent, BlobRef, RichText } from 'npm:@atproto/api';
2
3export async function blueskyPostWithImage(statusText: string, imageBuffer: any, altText: string) {
4 const BSKY_EMAIL = Deno.env.get("BSKY_EMAIL");
5 const BSKY_PWD = Deno.env.get("BSKY_PWD");
8 const rt = new RichText({ text: statusText })
9 await rt.detectFacets(agent)
10 const { data } = await agent.uploadBlob(imageBuffer, { encoding: "png" })
11 const postReuslt = await agent.post({
12 text: rt.text,
13 facets: rt.facets,
14 embed: {
15 $type: 'app.bsky.embed.images',
16 images: [
17 {
18 image: data.blob,
19 alt: altText
20 }
10
11<div align="center">
12<img src="https://imagedelivery.net/iHX6Ovru0O7AjmyT5yZRoA/67a1d35e-c37c-41a4-0e5a-03a9ba585d00/public" width="500px"/>
13</div>
3This is a lightweight Blob Admin interface to view and debug your Blob data.
4
5
6
7Use this button to install the val:
3This is a lightweight Blob Admin interface to view and debug your Blob data.
4
5
6
7Use this button to install the val:
32 username: tweet.user.screen_name,
33 name: tweet.user.name,
34 profile_image: tweet.user.profile_image_url_https,
35 media: tweet.entities?.media?.[0]?.media_url_https,
36 }));
1// This val fetches recent tweets about @SnapAR or Lens Studio, removes duplicates,
2// and displays them as embedded tweets with preview images on a dark background.
3// Updated to use Social Data instead of Twitter API
4
6
7// This val fetches recent social media posts about @SnapAR or Lens Studio using socialDataSearch,
8// and displays them as embedded posts with preview images on a dark background.
9
10export default async function server(request: Request): Promise<Response> {
35 username: tweet.user.screen_name,
36 name: tweet.user.name,
37 profile_image: tweet.user.profile_image_url_https,
38 media: tweet.entities?.media?.[0]?.media_url_https,
39 }));
3This is a lightweight Blob Admin interface to view and debug your Blob data.
4
5
6
7Use this button to install the val:
3View and interact with your Val Town SQLite data. It's based off Steve's excellent [SQLite Admin](https://www.val.town/v/stevekrouse/sqlite_admin?v=46) val, adding the ability to run SQLite queries directly in the interface. This new version has a revised UI and that's heavily inspired by [LibSQL Studio](https://github.com/invisal/libsql-studio) by [invisal](https://github.com/invisal). This is now more an SPA, with tables, queries and results showing up on the same page.
4
5
6
7## Install
92 appName: 'ValPush',
93 appIconUrl: '${iconURL}',
94 assetUrl: 'https://cdn.jsdelivr.net/gh/philfung/add-to-homescreen@1.9/dist/assets/img/', // Link to directory of library image assets.
95 maxModalDisplayCount: -1
96});
3View and interact with your Val Town SQLite data. It's based off Steve's excellent [SQLite Admin](https://www.val.town/v/stevekrouse/sqlite_admin?v=46) val, adding the ability to run SQLite queries directly in the interface. This new version has a revised UI and that's heavily inspired by [LibSQL Studio](https://github.com/invisal/libsql-studio) by [invisal](https://github.com/invisal). This is now more an SPA, with tables, queries and results showing up on the same page.
4
5
6
7## Install