215 const newTracks = [...tracks];
216 for (let i = 0; i < TRACKS; i++) {
217 const sound = await fetchSound(tracks[i].search, tracks[i].index);
218 if (sound) {
219 newTracks[i].sound = sound.buffer;
225 };
226
227 const fetchSound = async (query, index) => {
228 const search = query.toLowerCase().replaceAll(" ", "-");
229 try {
230 const response = await fetch(searchUrl + "/" + search);
231 const results = await response.json();
232 if (results.length > 0) {
233 const soundUrl = results[0].mp3s[0];
234 const audioResponse = await fetch(soundUrl);
235 const arrayBuffer = await audioResponse.arrayBuffer();
236 const audioBuffer = await audioCtx.current.decodeAudioData(arrayBuffer);
243 }
244 } catch (error) {
245 console.error("Error fetching sound:", error);
246 }
247 return null;
276 const newTracks = [...tracks];
277 newTracks[trackIndex].search = newSearch;
278 const sound = await fetchSound(newSearch, index);
279 newTracks[trackIndex].sound = sound.buffer;
280 newTracks[trackIndex].soundId = sound.id;
13 console.log(`Submitting URL for scraping: ${url}`);
14 try {
15 const response = await fetch("/scrape", {
16 method: "POST",
17 headers: { "Content-Type": "application/json" },
88 const threadmarkResults = await Promise.all(threadmarkCategories.map(async (category) => {
89 const threadmarkUrl = `${url}/threadmarks?hide_wrapper=1&display=embedded&threadmark_category=${category}`;
90 const response = await fetch(
91 `https://app.scrapingbee.com/api/v1/?api_key=${apiKey}&url=${
92 encodeURIComponent(threadmarkUrl)
94 );
95 if (!response.ok) {
96 console.log(`Error fetching threadmarks for category ${category}`);
97 return null;
98 }
137 }`;
138
139 const response = await fetch(requestUrl, {
140 method: "GET",
141 });
1import * as esbuild from "https://deno.land/x/esbuild@v0.24.0/wasm.js";
2
3const resp = await fetch(import.meta.url);
4const ts: string = await resp.text();
5
1/** @jsxImportSource https://esm.sh/hono@4.0.8/jsx **/
2
3import { modifyFetchHandler } from "https://esm.town/v/andreterron/codeOnValTown?v=50";
4import view_route from "https://esm.town/v/pomdtr/blob_admin_blob";
5import create_route from "https://esm.town/v/pomdtr/blob_admin_create";
137});
138
139export default modifyFetchHandler(passwordAuth(app.fetch));
242 sequence: document.getElementById("sequence").value
243 };
244 await fetch('/save-config', {
245 method: 'POST',
246 headers: { 'Content-Type': 'application/json' },
252 // Load configuration list
253 async function loadConfigList() {
254 const response = await fetch('/config-list');
255 const configs = await response.json();
256 const configList = document.getElementById("configList");
268 const configName = document.getElementById("configList").value;
269 if (!configName) return;
270 const response = await fetch(\`/load-config/\${configName}\`);
271 const config = await response.json();
272 synth.oscillator.type = config.oscType;
1import fetchBalanceFromCaptchaProvider from "https://esm.town/v/augustohp/CaptchaGetBalance";
2
3export default async function fetchAntiCaptchaBalance(
4 token: string,
5): Promise<number> {
6 return await fetchBalanceFromCaptchaProvider(token, "capmonster");
7}
1import fetchBalanceFromCaptchaProvider from "https://esm.town/v/augustohp/CaptchaGetBalance";
2
3export default async function fetchAntiCaptchaBalance(
4 token: string,
5): Promise<number> {
6 return await fetchBalanceFromCaptchaProvider(token, "anticaptcha");
7}
1import { fetchJSON } from "https://esm.town/v/stevekrouse/fetchJSON";
2
3export default async function fetchBalanceFromCaptchaProvider(
4 token: string,
5 provider: "capmonster" | "anticaptcha" | "nextcaptcha",
15 throw new Error("Unrecognized captcha provider " + provider + "!");
16 }
17 const result = await fetchJSON(
18 endpointUrl,
19 {
26
27 if (result.errorId != 0) {
28 throw new Error("Could not fetch balance.");
29 }
30
10
11```typescript
12import fetchBalanceFromCaptchaProvider from "https://esm.town/v/augustohp/CaptchaGetBalance";
13const remainingBalance = await fetchBalanceFromCaptchaProvider(Deno.env.get("CAPMONSTER_KEY"), "capmonster");
14```
15
14 setLoading(true);
15 try {
16 const response = await fetch("/scrape", {
17 method: "POST",
18 headers: { "Content-Type": "application/json" },
79 const { url } = await request.json();
80 try {
81 const response = await fetch(url);
82 const content = await response.text();
83 return new Response(JSON.stringify({ content: content.slice(0, 1000) }), {