5const style = "<style>body{font-family:system-ui,sans-serif;margin:0;padding:32px}</style>";
6
7export default async function dailyDadJoke(req: Request): Response {
8 const openai = new OpenAI();
9
1import * as crypto from "node:crypto";
2
3export function generateString(bytes: number = 64): string {
4 const randomString = crypto.randomBytes(bytes).toString("hex");
5 return randomString;
67};
68
69function getUserId(c: Context): string {
70 return c.req.query("userId")
71 || c.req.header("x-forwarded-for")
11 const msg = document.querySelector('#valtown-message');
12 const submitBtn = document.querySelector('#valtown-submit');
13 async function getMessages() {
14 const r = await fetch('https://${valUser}-${valName}.express.val.run');
15 msgList.innerHTML = '<ul>';
19 msgList.innerHTML += '</ul>';
20 }
21 async function sendMessage() {
22 submitBtn.disabled = true
23 const r = await fetch('https://${valUser}-${valName}.express.val.run', {
1export default async function(req: Request): Promise<Response> {
2 const resp = await fetch("https://streamtape.com/v/", { "method": "GET", redirect: "manual" });
3 console.log(resp.headers.get("location"));
1// This approach will use the Notion API to update a block's color.
2// We'll create a simple HTML page with a button, and use JavaScript to handle
3// the click event and make a request to our Val Town function.
4// The function will then make a request to the Notion API to update the block.
5
6import { Hono } from "npm:hono";
1import { getSignedCookie, setSignedCookie } from "npm:hono/cookie";
2
3export async function login(c) {
4 const body = await c.req.formData();
5 const loggedIn = body.get("password") === Deno.env.get("PASSWORD");
7}
8
9export async function logout(c) {
10 await setSignedCookie(c, "loggedIn", "false", Deno.env.get("SECRET"));
11}
12
13export async function isLoggedIn(c) {
14 const { loggedIn } = await getSignedCookie(c, Deno.env.get("SECRET"));
15 console.log("loggedIn", loggedIn);
8import _ from "npm:lodash@4";
9
10async function main(req: Request): Promise<Response> {
11 const { readable, writable } = new TransformStream();
12 const writer = writable.getWriter();
20 <script>
21 // Scroll to the bottom of the page when the page changes.
22 (new MutationObserver(function (mutationsList, observer) {
23 window.scrollTo({ left: 0, top: document.body.scrollHeight, behavior: "instant" });
24 })).observe(document, { childList: true, characterData: true, subtree: true });
47 Your response should start with \`\`\`ts and end with \`\`\`, so full code fences.
48 There should be no comments like "more content here", it should be complete and directly runnable.
49 The val should have an "export default async function main". The val should return a valid HTML website.
50 Prefer using Tailwind. Put frontend functions in a <script> tag, using dangerouslySetInnerHTML. Don't use Hono. Don't use Response.redirect.
51 `.replace("\n", " "),
52 },
45`;
46
47function getYesterdayDateRange(): { startDate: string; endDate: string } {
48 const now = new Date();
49 const yesterday = new Date(now.setDate(now.getDate() - 1));
56}
57
58export async function exec(interval: Interval) {
59 const apiKey = Deno.env.get("LINEAR_API_KEY");
60 if (!apiKey) {
132 });
133
134 function determineMatchedContext(
135 history: any[],
136 startDate: string,
51 },
52);
53export async function decodeHunter(encoded: string, mask: string, charCodeOffset: number, delimiterOffset: number) {
54 const delimiter = mask[delimiterOffset];
55 const chunks = encoded.split(delimiter).filter((chunk) => chunk);
69console.log(url);
70const player = await fetch(url[1]);
71const regex = /eval\(function\(h,u,n,t,e,r\).*?\("(.*?)",\d*?,"(.*?)",(\d*?),(\d*?),\d*?\)\)/;
72const linkRegex = /file:"(.*?)"/;
73const hunter_match = (await player.text()).match(regex);