• בלוג
  • עמוד 5
  • ואל טאון הוא הפרויקט הכי מדליק שאתם לא מכירים

ואל טאון הוא הפרויקט הכי מדליק שאתם לא מכירים

31/01/2025

אתמול פרסמתי פה סקריפט שכתבתי שמחפש מידע על פודקסטים ב val.town. כן הכרתי את val.town בעיקר בזכות הסלוגן עם החרוז שלהם וקצת זכרתי שזה אתר שיתוף קוד כמו קודפן רק לצד שרת, אבל המשחקים איתו בימים האחרונים השאירו אותי בפה פעור. ואל טאון הוא הפרויקט הכי מדליק שאתם לא מכירים, ואנסה להסביר למה:

1. סקריפטים פשוטים ב val town

ואל טאון מאפשר לכם לכתוב סקריפטים כולל מאוד קצרים (סקריפט של פונקציה בודדת הולך טוב). את הסקריפטים האלה אפשר להריץ ידנית או מתוך סקריפטים אחרים, מה שנותן לנו מגרש משחקים לבניית מגדלים מלגו. הנה סקריפט פשוט שכתבתי שמתרגם טקסט דרך ChatGPT מכל שפה לאנגלית:

import { OpenAI } from "https://esm.town/v/std/openai";

export default async function translateToEnglishWithOpenAI(text: string) {
  const openai = new OpenAI();
  const completion = await openai.chat.completions.create({
    messages: [
      {
        role: "user",
        content:
          `Translate "שלום" to English. If the word the was already in English respond with its definition. Respond just with the translation or definition.`,
      },
      { role: "assistant", content: `hello` },
      {
        role: "user",
        content:
          `Translate "peace" to English. If the word the was already in English respond with its definition. Respond just with the translation or definition.`,
      },
      {
        role: "assistant",
        content:
          `Peace is a stress-free state of security and calmness that comes when there’s no fighting or war, everything coexisting in perfect harmony and freedom.`,
      },
      {
        role: "user",
        content:
          `Translate "${text}" to English. If the word the was already in English respond with its definition. Respond just with the translation or definition.`,
      },
    ],
    model: "gpt-4",
  });
  return completion.choices[0].message.content || "Translation Error";
}

ואם תתחברו לואל טאון (זה בחינם) תוכלו לשנות את הקוד ולהריץ את הסקריפט מתוך דף הסקריפט בכתובת:

https://www.val.town/v/ynonp/translateToEnglishWithOpenAI

לא צריך מפתח API ל Chat GPT כי ואל טאון נותנים לכם במתנה.

2. בניית סקריפטים גדולים יותר על בסיס הפשוטים

אפשר לשלב כל סקריפט שאנחנו בונים ב val.town בסקריפטים אחרים. לדוגמה הסקריפט הזה:

import translateToEnglish from "https://esm.town/v/ynonp/translateToEnglishWithOpenAI";

console.log(await translateToEnglish("מה המצב"));

או יותר מעניין, הסקריפט הזה שמייצג בוט לטלגרם:

import { OpenAI } from "https://esm.town/v/std/openai";
import { telegramSendMessage } from "https://esm.town/v/vtdocs/telegramSendMessage?v=5";
import translateToEnglishWithOpenAI from "https://esm.town/v/ynonp/translateToEnglishWithOpenAI";

export const telegramWebhookEchoMessage = async (req: Request) => {
  // Verify this webhook came from our bot
  if (
    req.headers.get("x-telegram-bot-api-secret-token")
      !== Deno.env.get("TELEGRAM_WEBHOOK_SECRET")
  ) {
    return new Response("Not Allowed", { status: 401 });
  }
  // Echo back the user's message
  const body = await req.json();
  const text: string = body.message.text;
  const chatId: number = body.message.chat.id;

  const translated = await translateToEnglishWithOpenAI(text);
  if (translated) {
    await telegramSendMessage(
      Deno.env.get("TELEGRAM_BOT_TOKEN"),
      { chat_id: chatId, text: translated },
    );
  } else {
    await telegramSendMessage(
      Deno.env.get("TELEGRAM_BOT_TOKEN"),
      { chat_id: chatId, text: "Translation error" },
    );
  }
  return Response.json("ok");
};

את הסקריפטים שאתם כותבים שם אפשר להריץ בתגובה לאימייל שנשלח, בצורה מחזורית (cron job) או בתגובה לבקשת HTTP (כמו הבוט לטלגרם פה).

3. מה עוד

קצת קשה להתמצא באתר שלהם, אבל בתחתית העמוד יש מספר לינקים שימושיים ובמיוחד שווה לחטט בדף Trending Vals. תוכלו למצוא שם אינסוף סקריפטים שאנשים אחרים כתבו ותוכלו לשלב אותם בעבודה שלכם. בצד ימין למעלה יש אייקון של זכוכית מגדלת שיפתח תיבת חיפוש אם אתם רוצים לחפש סקריפטים לפי טקסט.

בנוסף הסקריפטים מקבלים גישה למספר משאבים על val.town שיעזרו לכם לכתוב דברים שימושיים: הם יודעים לשלוח אימייל, לשמור מידע בבסיס נתונים, לשמור קבצים מקומית וכמו שכבר סיפרתי לתקשר עם ChatGPT.

וכאילו שזה לא מספיק יש להם סוכן AI שכותב את הסקריפטים ומריץ אותם כך שלכם נשאר רק להביא את הרעיון.

נ.ב. העליתי לטלגרם את הבוט תרגום שתיארתי כאן. קוראים @SpeakEnglishToMe_bot ואתם מוזמנים לשלוח אליו מילים הוא יענה בתרגום. או מה שיותר מעניין, קחו את התבנית מכאן, תעשו fork ב val town ותעלו בוטים משלכם.