ื“ื™ืœื•ื’ ืœืชื•ื›ืŸ
  • ื—ื•ืงื™ ื”ืคื•ืจื•ื
  • ืคื•ืคื•ืœืจื™
  • ืœื ื ืคืชืจ
  • ืžืฉืชืžืฉื™ื
  • ื—ื™ืคื•ืฉ ื’ื•ื’ืœ ื‘ืคื•ืจื•ื
  • ืฆื•ืจ ืงืฉืจ
ืขื™ืฆื•ื‘ื™ื
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ื‘ืจื™ืจืช ืžื—ื“ืœ (ืœืœื ืขื™ืฆื•ื‘ (ื‘ืจื™ืจืช ืžื—ื“ืœ))
  • ืœืœื ืขื™ืฆื•ื‘ (ื‘ืจื™ืจืช ืžื—ื“ืœ)
ื›ื™ื•ื•ืฅ
ืžืชืžื—ื™ื ื˜ื•ืค
  1. ื“ืฃ ื”ื‘ื™ืช
  2. ืžื—ืฉื‘ื™ื ื•ื˜ื›ื ื•ืœื•ื’ื™ื”
  3. ืจืฉืชื•ืช
  4. ืคื™ืชื•ื— ื•ืขื™ืฆื•ื‘ ืืชืจื™ื
  5. Full Stack
  6. ืฆื“ ืœืงื•ื—
  7. JavaScript ES6
  8. ืขื–ืจื” ื”ื“ื“ื™ืช - JavaScript
  9. ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ

ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ

ืžืชื•ื–ืžืŸ ื ืขื•ืฅ ื ืขื•ืœ ื”ื•ืขื‘ืจ ืขื–ืจื” ื”ื“ื“ื™ืช - JavaScript
35 ืคื•ืกื˜ื™ื 8 ื›ื•ืชื‘ื™ื 152 ืฆืคื™ื•ืช 5 ืขื•ืงื‘ื™ื
  • ืžื”ื™ืฉืŸ ืœื—ื“ืฉ
  • ืžื”ื—ื“ืฉ ืœื™ืฉืŸ
  • ื”ื›ื™ ื”ืจื‘ื” ื”ืฆื‘ืขื•ืช
ืชื’ื•ื‘ื”
  • ืชื’ื•ื‘ื” ื›ื ื•ืฉื
ื”ืชื—ื‘ืจื• ื›ื“ื™ ืœืคืจืกื ืชื’ื•ื‘ื”
ื ื•ืฉื ื–ื” ื ืžื—ืง. ืจืง ืžืฉืชืžืฉื™ื ืขื ื”ืจืฉืื•ืช ืžืชืื™ืžื•ืช ื™ื•ื›ืœื• ืœืฆืคื•ืช ื‘ื•.
  • ืž ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ

    ืฉืœื•ื ื•ื‘ืจื›ื” ืื ื™ ืžื ืกื” ื›ื‘ืจ ืชืงื•ืคื” ืืจื•ื›ื” ืœื™ืฆื•ืจ ืกืงืจื™ืคื˜ื™ื ื‘ apps script ืขืœ ื™ื“ื™ gpt, ื‘ื“ืจืš ื›ืœืœ ื“ืฃ ืื™ื ื˜ืจื ื˜ ืฉืคื•ื ื” ืœืกืงืจื™ืคื˜, ืื‘ืœ ืชืžื™ื“ ื”ืกืงืจื™ืคื˜ ืœื ืขื•ื‘ื“, ืžื•ืคื™ืข ืœื™ "ืฉื’ื™ืื” ื‘ืฉืœื™ื—ืช ื”ื‘ืงืฉื”,"
    ืœืื—ืจ ืฉืขื•ืช ื‘ื›ืœ ืคืขื ืžื—ื“ืฉ, ืฉืื ื™ ืžืฉื ื” ื“ื‘ืจื™ื ืคื•ืจืก 10 ืคืขืžื™ื, ืžื•ื—ืง, ืžืฉื—ื–ืจ, ืคื•ืชื—, ื•ืกื•ื’ืจ, ื•ื›ื•' ื•ื›ื•' ื•ื›ื•' ื‘ืกื•ืฃ ื”ืกืงืจื™ืคื˜ ืžืกื›ื™ื ืœืขื‘ื•ื“,

    ืฉืืœืชื™ ืžื•ืคื ื™ืช ืืœื™ื›ื ืจื‘ื•ืชื™ื™ ื”ืžื•ืžื—ื™ื, ื”ืื ื™ืฉ ืžืฉื”ื• ืฉืื ื™ ืžืคืกืคืก? ื”ืื ื™ืฉ ื—ืœืง ืžืกื•ื™ื™ื ืฉืฆืจื™ืš ืœืฉื™ื ืœื‘ ืืœื™ื• ื‘ืฆื•ืจื” ืžื™ื•ื—ื“ืช? ืืฉืžื— ืชืฉืื™ืจื• ืืช ืขื™ื ื™, ื•ืื ืฆืจื™ืš ืœืคืจื˜ ื™ื•ืชืจ ืžื” ื”ืงื•ื“ ืžื” ื”ืกืงืจื™ืคื˜ ื•ื›ื•' ืคืฉื•ื˜ ืชื’ื™ื“ื•...
    ืชื•ื“ื” ืจื‘ื” ืžืจืืฉ .

    ืื™ืฉ ืืžืชื ืžื ื•ืชืง
    ืื™ืฉ ืืžืชื ืžื ื•ืชืง
    ืื™ืฉ ืืžืช
    ืžื“ืจื™ื›ื™ื
    ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
    #6

    @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ืื ื™ ืœื ื—ื•ืฉื‘ ื›ืงื•ื“ืžื™ื™ ืฉื”gpt ืžืžืฉ ื’ืจื•ืข, ืื ื™ ืคืฉื•ื˜ ืžืฉืชืžืฉ ื‘ืžื•ื“ืœ gemini pro ื›ื™ ื”ื•ื ื™ื•ืชืจ ื˜ื•ื‘ ื• AI STUDIO ื™ื•ืชืจ ื˜ื•ื‘ ืื™ืชื• ื›ื™ ืืคืฉืจ ืœืžื—ื•ืง ื˜ื•ืงื ื™ื.
    ืœืขื ื™ื ื™ื ื• ื ืจืื” ืœื™ ื›ืฉื›ืชื‘ืช ืฉืื—ืจื™ ื ืกื™ื•ื ื•ืช ื”ืกืงืจื™ืคื˜ ืžืกื›ื™ื ืœืขื‘ื•ื“, ื›ื ืจืื” ื”ื‘ืขื™ื” ื”ื™ื ื‘ืฉื™ื˜ืช ื”ืขื‘ื•ื“ื” ืฉืœืš ื•ืœื ื‘ืกืงืจื™ืคื˜ ื›ื™ ืขื•ื‘ื“ื” ื”ื•ื ืขื‘ื“...
    ืชื ืกื” ืœื‘ื“ื•ืง ืืช ื”ืœื•ื’ ืœืจืื•ืช ื”ืื ื›ืฉืœื ื”ืฆืœื—ืช, ื”ื‘ืงืฉื” ื›ืŸ ื”ืชืงื‘ืœื” ื•ืจืง ื ื›ืฉืœื” ื•ืื– ืชื‘ื“ื•ืง ืœืžื” ื ื›ืฉืœื”, ืื• ืฉืœื ื”ืชืงื‘ืœื” ื‘ื›ืœืœ ื•ืื– ื™ืฉ ืœืš ื‘ืขื™ื” ื‘ื“ืฃ ืื™ื ื˜ืจื ื˜ ืื• ืฉืœื ื”ื™ื” ืœื• ืจืฉืช ืื• ืกื™ื ื•ืŸ ื•ื›ื• ืชื ืกื” ืœื”ืชืงื“ื ืœืžืฆื•ื ืืช ื”ื‘ืขื™ื” ื•ืœื ืœื ืกื•ืช ืืช ืžื–ืœืš ืขื ื ื™ืกื™ื•ื ื•ืช ืฉื•ื•ื

    ืื ื™ ื™ื•ื“ืข ืฉืื ื™ ื—ื•ืฉื‘ ืฉืื ื™ ื™ื•ื“ืข.

    ืฆ ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
    0
    • ืž ืžื ื•ืชืง
      ืž ืžื ื•ืชืง
      ืžื•ื˜ื™ ืžื”ื™ืจ
      ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
      #7

      @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ืืชื” ืขืœ ื ื˜ืคืจื™?

      ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
      1
      • ืื™ืฉ ืืžืชื ืื™ืฉ ืืžืช

        @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ืื ื™ ืœื ื—ื•ืฉื‘ ื›ืงื•ื“ืžื™ื™ ืฉื”gpt ืžืžืฉ ื’ืจื•ืข, ืื ื™ ืคืฉื•ื˜ ืžืฉืชืžืฉ ื‘ืžื•ื“ืœ gemini pro ื›ื™ ื”ื•ื ื™ื•ืชืจ ื˜ื•ื‘ ื• AI STUDIO ื™ื•ืชืจ ื˜ื•ื‘ ืื™ืชื• ื›ื™ ืืคืฉืจ ืœืžื—ื•ืง ื˜ื•ืงื ื™ื.
        ืœืขื ื™ื ื™ื ื• ื ืจืื” ืœื™ ื›ืฉื›ืชื‘ืช ืฉืื—ืจื™ ื ืกื™ื•ื ื•ืช ื”ืกืงืจื™ืคื˜ ืžืกื›ื™ื ืœืขื‘ื•ื“, ื›ื ืจืื” ื”ื‘ืขื™ื” ื”ื™ื ื‘ืฉื™ื˜ืช ื”ืขื‘ื•ื“ื” ืฉืœืš ื•ืœื ื‘ืกืงืจื™ืคื˜ ื›ื™ ืขื•ื‘ื“ื” ื”ื•ื ืขื‘ื“...
        ืชื ืกื” ืœื‘ื“ื•ืง ืืช ื”ืœื•ื’ ืœืจืื•ืช ื”ืื ื›ืฉืœื ื”ืฆืœื—ืช, ื”ื‘ืงืฉื” ื›ืŸ ื”ืชืงื‘ืœื” ื•ืจืง ื ื›ืฉืœื” ื•ืื– ืชื‘ื“ื•ืง ืœืžื” ื ื›ืฉืœื”, ืื• ืฉืœื ื”ืชืงื‘ืœื” ื‘ื›ืœืœ ื•ืื– ื™ืฉ ืœืš ื‘ืขื™ื” ื‘ื“ืฃ ืื™ื ื˜ืจื ื˜ ืื• ืฉืœื ื”ื™ื” ืœื• ืจืฉืช ืื• ืกื™ื ื•ืŸ ื•ื›ื• ืชื ืกื” ืœื”ืชืงื“ื ืœืžืฆื•ื ืืช ื”ื‘ืขื™ื” ื•ืœื ืœื ืกื•ืช ืืช ืžื–ืœืš ืขื ื ื™ืกื™ื•ื ื•ืช ืฉื•ื•ื

        ืฆ ืžื ื•ืชืง
        ืฆ ืžื ื•ืชืง
        ืฆื“ื™ืง 0
        ืžื“ืจื™ื›ื™ื
        ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
        #8

        @ืื™ืฉ-ืืžืช ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

        ืื ื™ ืœื ื—ื•ืฉื‘ ื›ืงื•ื“ืžื™ื™ ืฉื”gpt ืžืžืฉ ื’ืจื•ืข, ืื ื™ ืคืฉื•ื˜ ืžืฉืชืžืฉ ื‘ืžื•ื“ืœ gemini pro ื›ื™ ื”ื•ื ื™ื•ืชืจ ื˜ื•ื‘ ื• AI STUDIO ื™ื•ืชืจ ื˜ื•ื‘ ืื™ืชื• ื›ื™ ืืคืฉืจ ืœืžื—ื•ืง ื˜ื•ืงื ื™ื.

        ืœื ื”ื‘ื ืชื™ ืืช ื›ื•ื•ื ืชืš
        ื‘ AI studio ืืคืฉืจ ื›ืžื•ื‘ืŸ ืœื‘ื—ื•ืจ ืืช ื”ืžื•ื“ืœ ื•ื‘ื›ืœืœื gemini pro 2.5

        ืื™ืฉ ืืžืชื ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
        0
        • ืž ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ

          ืฉืœื•ื ื•ื‘ืจื›ื” ืื ื™ ืžื ืกื” ื›ื‘ืจ ืชืงื•ืคื” ืืจื•ื›ื” ืœื™ืฆื•ืจ ืกืงืจื™ืคื˜ื™ื ื‘ apps script ืขืœ ื™ื“ื™ gpt, ื‘ื“ืจืš ื›ืœืœ ื“ืฃ ืื™ื ื˜ืจื ื˜ ืฉืคื•ื ื” ืœืกืงืจื™ืคื˜, ืื‘ืœ ืชืžื™ื“ ื”ืกืงืจื™ืคื˜ ืœื ืขื•ื‘ื“, ืžื•ืคื™ืข ืœื™ "ืฉื’ื™ืื” ื‘ืฉืœื™ื—ืช ื”ื‘ืงืฉื”,"
          ืœืื—ืจ ืฉืขื•ืช ื‘ื›ืœ ืคืขื ืžื—ื“ืฉ, ืฉืื ื™ ืžืฉื ื” ื“ื‘ืจื™ื ืคื•ืจืก 10 ืคืขืžื™ื, ืžื•ื—ืง, ืžืฉื—ื–ืจ, ืคื•ืชื—, ื•ืกื•ื’ืจ, ื•ื›ื•' ื•ื›ื•' ื•ื›ื•' ื‘ืกื•ืฃ ื”ืกืงืจื™ืคื˜ ืžืกื›ื™ื ืœืขื‘ื•ื“,

          ืฉืืœืชื™ ืžื•ืคื ื™ืช ืืœื™ื›ื ืจื‘ื•ืชื™ื™ ื”ืžื•ืžื—ื™ื, ื”ืื ื™ืฉ ืžืฉื”ื• ืฉืื ื™ ืžืคืกืคืก? ื”ืื ื™ืฉ ื—ืœืง ืžืกื•ื™ื™ื ืฉืฆืจื™ืš ืœืฉื™ื ืœื‘ ืืœื™ื• ื‘ืฆื•ืจื” ืžื™ื•ื—ื“ืช? ืืฉืžื— ืชืฉืื™ืจื• ืืช ืขื™ื ื™, ื•ืื ืฆืจื™ืš ืœืคืจื˜ ื™ื•ืชืจ ืžื” ื”ืงื•ื“ ืžื” ื”ืกืงืจื™ืคื˜ ื•ื›ื•' ืคืฉื•ื˜ ืชื’ื™ื“ื•...
          ืชื•ื“ื” ืจื‘ื” ืžืจืืฉ .

          ืฆ ืžื ื•ืชืง
          ืฆ ืžื ื•ืชืง
          ืฆื“ื™ืง 0
          ืžื“ืจื™ื›ื™ื
          ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
          #9

          @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ื›ืžื•ื‘ืŸ ืฉืื ืชืคืจืกื ืืช ื”ืงื•ื“ ื ื•ื›ืœ ืœืขื–ื•ืจ ืœืš ื”ืจื‘ื” ื™ื•ืชืจ

          ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
          0
          • ืฆ ืฆื“ื™ืง 0

            @ืื™ืฉ-ืืžืช ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

            ืื ื™ ืœื ื—ื•ืฉื‘ ื›ืงื•ื“ืžื™ื™ ืฉื”gpt ืžืžืฉ ื’ืจื•ืข, ืื ื™ ืคืฉื•ื˜ ืžืฉืชืžืฉ ื‘ืžื•ื“ืœ gemini pro ื›ื™ ื”ื•ื ื™ื•ืชืจ ื˜ื•ื‘ ื• AI STUDIO ื™ื•ืชืจ ื˜ื•ื‘ ืื™ืชื• ื›ื™ ืืคืฉืจ ืœืžื—ื•ืง ื˜ื•ืงื ื™ื.

            ืœื ื”ื‘ื ืชื™ ืืช ื›ื•ื•ื ืชืš
            ื‘ AI studio ืืคืฉืจ ื›ืžื•ื‘ืŸ ืœื‘ื—ื•ืจ ืืช ื”ืžื•ื“ืœ ื•ื‘ื›ืœืœื gemini pro 2.5

            ืื™ืฉ ืืžืชื ืžื ื•ืชืง
            ืื™ืฉ ืืžืชื ืžื ื•ืชืง
            ืื™ืฉ ืืžืช
            ืžื“ืจื™ื›ื™ื
            ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
            #10

            @ืฆื“ื™ืง-0 ืœื ืฉืžืช ืœื‘ ืœืื•ืช ื• ืฉื™ืฉ ื‘ื™ืŸ ืœื‘ื™ืŸ ืฉืื•ืžืจืช ืฉืขื ai studio ื’ืžื ื™ ื™ื•ืชืจ ื˜ื•ื‘ ื›ื™ ืืคืฉืจ ืœืžื—ื•ืง ื˜ื•ืงื ื™ื...

            ืื ื™ ื™ื•ื“ืข ืฉืื ื™ ื—ื•ืฉื‘ ืฉืื ื™ ื™ื•ื“ืข.

            ืฆ ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
            1
            • ืื™ืฉ ืืžืชื ืื™ืฉ ืืžืช

              @ืฆื“ื™ืง-0 ืœื ืฉืžืช ืœื‘ ืœืื•ืช ื• ืฉื™ืฉ ื‘ื™ืŸ ืœื‘ื™ืŸ ืฉืื•ืžืจืช ืฉืขื ai studio ื’ืžื ื™ ื™ื•ืชืจ ื˜ื•ื‘ ื›ื™ ืืคืฉืจ ืœืžื—ื•ืง ื˜ื•ืงื ื™ื...

              ืฆ ืžื ื•ืชืง
              ืฆ ืžื ื•ืชืง
              ืฆื“ื™ืง 0
              ืžื“ืจื™ื›ื™ื
              ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
              #11

              @ืื™ืฉ-ืืžืช ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

              @ืฆื“ื™ืง-0 ืœื ืฉืžืช ืœื‘ ืœืื•ืช ื• ืฉื™ืฉ ื‘ื™ืŸ ืœื‘ื™ืŸ ืฉืื•ืžืจืช ืฉืขื ai studio ื’ืžื ื™ ื™ื•ืชืจ ื˜ื•ื‘ ื›ื™ ืืคืฉืจ ืœืžื—ื•ืง ื˜ื•ืงื ื™ื...

              1:0

              ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
              1
              • ืž ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ

                ืฉืœื•ื ื•ื‘ืจื›ื” ืื ื™ ืžื ืกื” ื›ื‘ืจ ืชืงื•ืคื” ืืจื•ื›ื” ืœื™ืฆื•ืจ ืกืงืจื™ืคื˜ื™ื ื‘ apps script ืขืœ ื™ื“ื™ gpt, ื‘ื“ืจืš ื›ืœืœ ื“ืฃ ืื™ื ื˜ืจื ื˜ ืฉืคื•ื ื” ืœืกืงืจื™ืคื˜, ืื‘ืœ ืชืžื™ื“ ื”ืกืงืจื™ืคื˜ ืœื ืขื•ื‘ื“, ืžื•ืคื™ืข ืœื™ "ืฉื’ื™ืื” ื‘ืฉืœื™ื—ืช ื”ื‘ืงืฉื”,"
                ืœืื—ืจ ืฉืขื•ืช ื‘ื›ืœ ืคืขื ืžื—ื“ืฉ, ืฉืื ื™ ืžืฉื ื” ื“ื‘ืจื™ื ืคื•ืจืก 10 ืคืขืžื™ื, ืžื•ื—ืง, ืžืฉื—ื–ืจ, ืคื•ืชื—, ื•ืกื•ื’ืจ, ื•ื›ื•' ื•ื›ื•' ื•ื›ื•' ื‘ืกื•ืฃ ื”ืกืงืจื™ืคื˜ ืžืกื›ื™ื ืœืขื‘ื•ื“,

                ืฉืืœืชื™ ืžื•ืคื ื™ืช ืืœื™ื›ื ืจื‘ื•ืชื™ื™ ื”ืžื•ืžื—ื™ื, ื”ืื ื™ืฉ ืžืฉื”ื• ืฉืื ื™ ืžืคืกืคืก? ื”ืื ื™ืฉ ื—ืœืง ืžืกื•ื™ื™ื ืฉืฆืจื™ืš ืœืฉื™ื ืœื‘ ืืœื™ื• ื‘ืฆื•ืจื” ืžื™ื•ื—ื“ืช? ืืฉืžื— ืชืฉืื™ืจื• ืืช ืขื™ื ื™, ื•ืื ืฆืจื™ืš ืœืคืจื˜ ื™ื•ืชืจ ืžื” ื”ืงื•ื“ ืžื” ื”ืกืงืจื™ืคื˜ ื•ื›ื•' ืคืฉื•ื˜ ืชื’ื™ื“ื•...
                ืชื•ื“ื” ืจื‘ื” ืžืจืืฉ .

                ืจ ืžื ื•ืชืง
                ืจ ืžื ื•ืชืง
                ืจืคื™ ืกืื
                ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
                #12

                @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ื ื˜ืคืจื™?
                ื•ื–ื” ื ื•ืชืŸ ืœืš ืœืฉืžื•ืจ?

                ืข"ื” ื“ื›ื•"ืขืข ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                0
                • ืจ ืจืคื™ ืกืื

                  @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ื ื˜ืคืจื™?
                  ื•ื–ื” ื ื•ืชืŸ ืœืš ืœืฉืžื•ืจ?

                  ืข"ื” ื“ื›ื•"ืขืข ืžื ื•ืชืง
                  ืข"ื” ื“ื›ื•"ืขืข ืžื ื•ืชืง
                  ืข"ื” ื“ื›ื•"ืข
                  ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
                  #13

                  @ืจืคื™-ืกืื ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

                  @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ื ื˜ืคืจื™?
                  ื•ื–ื” ื ื•ืชืŸ ืœืš ืœืฉืžื•ืจ?

                  ื ื˜ืคืจื™ ืœื ืžืืคืฉืจื™ื ืœืฉืžื•ืจ ืจืง ืกืงืจื™ืคื˜ ืฉืคื•ื ื” ืœื›ืชื•ื‘ื•ืช URL ื—ื™ืฆื•ื ื™ื•ืช. ื•ื’ื ื–ื” ืืฉืคืจื™ ืข"ื™ ื‘ืงืฉื” ื‘ืžืขืจื›ืช ื”ืคื ื™ื•ืช

                  ืจ ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                  0
                  • ืข"ื” ื“ื›ื•"ืขืข ืข"ื” ื“ื›ื•"ืข

                    @ืจืคื™-ืกืื ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

                    @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ื ื˜ืคืจื™?
                    ื•ื–ื” ื ื•ืชืŸ ืœืš ืœืฉืžื•ืจ?

                    ื ื˜ืคืจื™ ืœื ืžืืคืฉืจื™ื ืœืฉืžื•ืจ ืจืง ืกืงืจื™ืคื˜ ืฉืคื•ื ื” ืœื›ืชื•ื‘ื•ืช URL ื—ื™ืฆื•ื ื™ื•ืช. ื•ื’ื ื–ื” ืืฉืคืจื™ ืข"ื™ ื‘ืงืฉื” ื‘ืžืขืจื›ืช ื”ืคื ื™ื•ืช

                    ืจ ืžื ื•ืชืง
                    ืจ ืžื ื•ืชืง
                    ืจืคื™ ืกืื
                    ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
                    #14

                    @ืข-ื”-ื“ื›ื•-ืข (ื•ื–ื” ืžื” ืฉื”ื•ื ืขื•ืฉื”....)

                    ื•ื’ื ืœืคืขืžื™ื ื ื˜ืคืจื™ ื—ื•ืกื ื‘ืืคืคืก ืกืงืจื™ืคื˜ ืกืชื

                    ืฆ ืข"ื” ื“ื›ื•"ืขืข 2 ืชื’ื•ื‘ื•ืช ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                    0
                    • ืจ ืจืคื™ ืกืื

                      @ืข-ื”-ื“ื›ื•-ืข (ื•ื–ื” ืžื” ืฉื”ื•ื ืขื•ืฉื”....)

                      ื•ื’ื ืœืคืขืžื™ื ื ื˜ืคืจื™ ื—ื•ืกื ื‘ืืคืคืก ืกืงืจื™ืคื˜ ืกืชื

                      ืฆ ืžื ื•ืชืง
                      ืฆ ืžื ื•ืชืง
                      ืฆื“ื™ืง 0
                      ืžื“ืจื™ื›ื™ื
                      ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
                      #15

                      @ืจืคื™-ืกืื ื”ื•ื ื›ืชื‘ ืฉื‘ืกื•ืฃ ื–ื” ื›ืŸ ืขื•ื‘ื“ ื›ืš ืฉืœื ืžืกืชื‘ืจ ืฉื–ื” ื ื˜ืคืจื™

                      ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                      0
                      • ืจ ืจืคื™ ืกืื

                        @ืข-ื”-ื“ื›ื•-ืข (ื•ื–ื” ืžื” ืฉื”ื•ื ืขื•ืฉื”....)

                        ื•ื’ื ืœืคืขืžื™ื ื ื˜ืคืจื™ ื—ื•ืกื ื‘ืืคืคืก ืกืงืจื™ืคื˜ ืกืชื

                        ืข"ื” ื“ื›ื•"ืขืข ืžื ื•ืชืง
                        ืข"ื” ื“ื›ื•"ืขืข ืžื ื•ืชืง
                        ืข"ื” ื“ื›ื•"ืข
                        ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
                        #16

                        @ืจืคื™-ืกืื ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

                        @ืข-ื”-ื“ื›ื•-ืข (ื•ื–ื” ืžื” ืฉื”ื•ื ืขื•ืฉื”....)

                        ื•ื’ื ืœืคืขืžื™ื ื ื˜ืคืจื™ ื—ื•ืกื ื‘ืืคืคืก ืกืงืจื™ืคื˜ ืกืชื

                        ืื™ืคื” ืืชื” ืจื•ืื” ืฉื–ื” ืžื” ืฉื”ื•ื ืขื•ืฉื”?

                        ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                        0
                        • ืž ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ

                          ืฉืœื•ื ื•ื‘ืจื›ื” ืื ื™ ืžื ืกื” ื›ื‘ืจ ืชืงื•ืคื” ืืจื•ื›ื” ืœื™ืฆื•ืจ ืกืงืจื™ืคื˜ื™ื ื‘ apps script ืขืœ ื™ื“ื™ gpt, ื‘ื“ืจืš ื›ืœืœ ื“ืฃ ืื™ื ื˜ืจื ื˜ ืฉืคื•ื ื” ืœืกืงืจื™ืคื˜, ืื‘ืœ ืชืžื™ื“ ื”ืกืงืจื™ืคื˜ ืœื ืขื•ื‘ื“, ืžื•ืคื™ืข ืœื™ "ืฉื’ื™ืื” ื‘ืฉืœื™ื—ืช ื”ื‘ืงืฉื”,"
                          ืœืื—ืจ ืฉืขื•ืช ื‘ื›ืœ ืคืขื ืžื—ื“ืฉ, ืฉืื ื™ ืžืฉื ื” ื“ื‘ืจื™ื ืคื•ืจืก 10 ืคืขืžื™ื, ืžื•ื—ืง, ืžืฉื—ื–ืจ, ืคื•ืชื—, ื•ืกื•ื’ืจ, ื•ื›ื•' ื•ื›ื•' ื•ื›ื•' ื‘ืกื•ืฃ ื”ืกืงืจื™ืคื˜ ืžืกื›ื™ื ืœืขื‘ื•ื“,

                          ืฉืืœืชื™ ืžื•ืคื ื™ืช ืืœื™ื›ื ืจื‘ื•ืชื™ื™ ื”ืžื•ืžื—ื™ื, ื”ืื ื™ืฉ ืžืฉื”ื• ืฉืื ื™ ืžืคืกืคืก? ื”ืื ื™ืฉ ื—ืœืง ืžืกื•ื™ื™ื ืฉืฆืจื™ืš ืœืฉื™ื ืœื‘ ืืœื™ื• ื‘ืฆื•ืจื” ืžื™ื•ื—ื“ืช? ืืฉืžื— ืชืฉืื™ืจื• ืืช ืขื™ื ื™, ื•ืื ืฆืจื™ืš ืœืคืจื˜ ื™ื•ืชืจ ืžื” ื”ืงื•ื“ ืžื” ื”ืกืงืจื™ืคื˜ ื•ื›ื•' ืคืฉื•ื˜ ืชื’ื™ื“ื•...
                          ืชื•ื“ื” ืจื‘ื” ืžืจืืฉ .

                          ืจ ืžื ื•ืชืง
                          ืจ ืžื ื•ืชืง
                          ืจืคื™ ืกืื
                          ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
                          #17

                          @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

                          ื‘ื“ืจืš ื›ืœืœ ื“ืฃ ืื™ื ื˜ืจื ื˜ ืฉืคื•ื ื” ืœืกืงืจื™ืคื˜

                          ื”ื ื”

                          ืข"ื” ื“ื›ื•"ืขืข ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                          0
                          • ืจ ืจืคื™ ืกืื

                            @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

                            ื‘ื“ืจืš ื›ืœืœ ื“ืฃ ืื™ื ื˜ืจื ื˜ ืฉืคื•ื ื” ืœืกืงืจื™ืคื˜

                            ื”ื ื”

                            ืข"ื” ื“ื›ื•"ืขืข ืžื ื•ืชืง
                            ืข"ื” ื“ื›ื•"ืขืข ืžื ื•ืชืง
                            ืข"ื” ื“ื›ื•"ืข
                            ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
                            #18

                            @ืจืคื™-ืกืื ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

                            @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

                            ื‘ื“ืจืš ื›ืœืœ ื“ืฃ ืื™ื ื˜ืจื ื˜ ืฉืคื•ื ื” ืœืกืงืจื™ืคื˜

                            ื”ื ื”

                            ื ื˜ืคืจื™ ื—ื•ืกืžื™ื ืกืงืจื™ืคื˜ ืฉืคื•ื ื” ืœื“ืฃ ืื™ื ื˜ืจื ื˜, ืœื ื“ืฃ ืื™ื ื˜ืจื ื˜ ืฉืคื•ื ื” ืœืกืงืจื™ืคื˜.

                            ืจ ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                            2
                            • ืข"ื” ื“ื›ื•"ืขืข ืข"ื” ื“ื›ื•"ืข

                              @ืจืคื™-ืกืื ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

                              @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ื›ืชื‘ ื‘ื‘ืขื™ื” | ๐Ÿ˜ช apps script, ืžื” ืื ื™ ืžืคืกืคืกโ‰๏ธ:

                              ื‘ื“ืจืš ื›ืœืœ ื“ืฃ ืื™ื ื˜ืจื ื˜ ืฉืคื•ื ื” ืœืกืงืจื™ืคื˜

                              ื”ื ื”

                              ื ื˜ืคืจื™ ื—ื•ืกืžื™ื ืกืงืจื™ืคื˜ ืฉืคื•ื ื” ืœื“ืฃ ืื™ื ื˜ืจื ื˜, ืœื ื“ืฃ ืื™ื ื˜ืจื ื˜ ืฉืคื•ื ื” ืœืกืงืจื™ืคื˜.

                              ืจ ืžื ื•ืชืง
                              ืจ ืžื ื•ืชืง
                              ืจืคื™ ืกืื
                              ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
                              #19

                              @ืข-ื”-ื“ื›ื•-ืข ื›ืš ื”ื™ื” ื ืฉืžืข ืœื™....

                              ืž ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                              0
                              • ืจ ืจืคื™ ืกืื

                                @ืข-ื”-ื“ื›ื•-ืข ื›ืš ื”ื™ื” ื ืฉืžืข ืœื™....

                                ืž ืžื ื•ืชืง
                                ืž ืžื ื•ืชืง
                                ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ
                                ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™ ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ
                                #20

                                @ืจืคื™-ืกืื
                                ืื• ืื”ื” ืขื›ืฉื™ื• ืื ื™ ื ื›ื ืก ืœืคื”, ืœืื—ืจ ื”ืจื‘ื” ื–ืžืŸ ื•ืื ื™ ืจื•ืื” ืฉื”ื ื•ืฉื ื ื”ื™ื” ืžืžืฉ ื•ื™ืจืืœื™....
                                ื. ืื™ืคื” ืื ื™ ื™ื›ื•ืœ ืœื‘ื“ื•ืง ืืช ื”ืœื•ื’ื• ื‘ืงืฉื•ืช ื‘ apps script ื•ืœื‘ื“ื•ืง ื”ืื ื”ื‘ืงืฉื•ืช ื‘ื›ืœืœ ื”ืชืงื‘ืœื•?
                                ื‘. ืชื•ื“ื” ืจื‘ื” ืœื›ืœ ื”ืขื•ื–ืจื™ื ื•ื”ืžืกื™ื™ืขื™ื.

                                ื’. ืื ื™ ืœื ื‘ื ื˜ืคืจื™.

                                ืื ื–ื” ื ื—ื•ืฅ ืื ื™ ืืฉืชืฃ ืืช ื”ืกืงืจื™ืคื˜, (ื‘ื”ืชื—ืœื” ืœื ืฉืœื—ืชื™ ื›ื™ ื—ืฉื‘ืชื™ ืฉืœื ื™ื”ื™ื” ืœืžื™ืฉื”ื• ื›ื— ืœืขื‘ื•ืจ ืขืœ ื–ื”, ืื‘ืœ ืื ื™ ืจื•ืื” ืฉืื ืฉื™ื ืคื” ืžืื•ื“ ืžืื•ื“ ืื•ื”ื‘ื™ื ืœืขื–ื•ืจ, ๐Ÿ‘๐Ÿ‘)

                                ืข"ื” ื“ื›ื•"ืขืข ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                                1
                                • ืž ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ

                                  @ืจืคื™-ืกืื
                                  ืื• ืื”ื” ืขื›ืฉื™ื• ืื ื™ ื ื›ื ืก ืœืคื”, ืœืื—ืจ ื”ืจื‘ื” ื–ืžืŸ ื•ืื ื™ ืจื•ืื” ืฉื”ื ื•ืฉื ื ื”ื™ื” ืžืžืฉ ื•ื™ืจืืœื™....
                                  ื. ืื™ืคื” ืื ื™ ื™ื›ื•ืœ ืœื‘ื“ื•ืง ืืช ื”ืœื•ื’ื• ื‘ืงืฉื•ืช ื‘ apps script ื•ืœื‘ื“ื•ืง ื”ืื ื”ื‘ืงืฉื•ืช ื‘ื›ืœืœ ื”ืชืงื‘ืœื•?
                                  ื‘. ืชื•ื“ื” ืจื‘ื” ืœื›ืœ ื”ืขื•ื–ืจื™ื ื•ื”ืžืกื™ื™ืขื™ื.

                                  ื’. ืื ื™ ืœื ื‘ื ื˜ืคืจื™.

                                  ืื ื–ื” ื ื—ื•ืฅ ืื ื™ ืืฉืชืฃ ืืช ื”ืกืงืจื™ืคื˜, (ื‘ื”ืชื—ืœื” ืœื ืฉืœื—ืชื™ ื›ื™ ื—ืฉื‘ืชื™ ืฉืœื ื™ื”ื™ื” ืœืžื™ืฉื”ื• ื›ื— ืœืขื‘ื•ืจ ืขืœ ื–ื”, ืื‘ืœ ืื ื™ ืจื•ืื” ืฉืื ืฉื™ื ืคื” ืžืื•ื“ ืžืื•ื“ ืื•ื”ื‘ื™ื ืœืขื–ื•ืจ, ๐Ÿ‘๐Ÿ‘)

                                  ืข"ื” ื“ื›ื•"ืขืข ืžื ื•ืชืง
                                  ืข"ื” ื“ื›ื•"ืขืข ืžื ื•ืชืง
                                  ืข"ื” ื“ื›ื•"ืข
                                  ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
                                  #21

                                  @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ
                                  ืืช ื”ืœื•ื’ ืืคืฉืจ ืœืจืื•ืช ื‘ื›ืจื˜ื™ืกื™ื™ืช ื”ืคืขืœื•ืช. ืœื•ืงื— ืงืฆืช ื–ืžืŸ ืขื“ ืฉื”ื•ื ื ืจืฉื ืฉื.

                                  ืž ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                                  0
                                  • ืข"ื” ื“ื›ื•"ืขืข ืข"ื” ื“ื›ื•"ืข

                                    @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ
                                    ืืช ื”ืœื•ื’ ืืคืฉืจ ืœืจืื•ืช ื‘ื›ืจื˜ื™ืกื™ื™ืช ื”ืคืขืœื•ืช. ืœื•ืงื— ืงืฆืช ื–ืžืŸ ืขื“ ืฉื”ื•ื ื ืจืฉื ืฉื.

                                    ืž ืžื ื•ืชืง
                                    ืž ืžื ื•ืชืง
                                    ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ
                                    ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
                                    #22

                                    @ืข-ื”-ื“ื›ื•-ืข
                                    ืชื•ื“ื”, ื‘ื•ื“ืง....

                                    ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                                    0
                                    • ืž ืžื ื•ืชืง
                                      ืž ืžื ื•ืชืง
                                      ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ
                                      ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™ ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ
                                      #23

                                      ื”ืกืงืจื™ืคื˜ ื‘ืกืคื•ื™ื™ืœืจ

                                      const SHEET_ID = "id ืฉืœ ื’ื™ืœื™ื•ืŸ ืฉื™ื˜ืก"; // ืขื“ื›ืŸ
                                      
                                      function doPost(e) {
                                        try {
                                          const data = JSON.parse(e.postData.contents || "{}");
                                          const answer = (data.answer || "").toString().trim();
                                          const token = (data.token || "").toString().trim();
                                          const name = (data.name || "").toString().trim();
                                          const email = (data.email || "").toString().trim();
                                      
                                          if (!answer || !token) {
                                            return ContentService.createTextOutput(JSON.stringify({status:"error", message:"missing answer or token"})).setMimeType(ContentService.MimeType.JSON);
                                          }
                                      
                                          const ss = SpreadsheetApp.openById(SHEET_ID);
                                          // ื•ื•ื“ื ืฉื™ืฉ ื’ืœื™ื•ืŸ ืœื˜ื•ืงื ื™ื ื•ืฉื ื”ื’ืœื™ื•ืŸ ื ืงืจื "Tokens"
                                          let tokensSheet = ss.getSheetByName("Tokens");
                                          if (!tokensSheet) {
                                            // ืฆื•ืจ ื’ืœื™ื•ืŸ Tokens ืขื ื›ื•ืชืจืช ืื ืœื ืงื™ื™ื
                                            tokensSheet = ss.insertSheet("Tokens");
                                            tokensSheet.appendRow(["Token","Name","Email","Used"]);
                                          }
                                      
                                          // Responses sheet
                                          let respSheet = ss.getSheetByName("Responses");
                                          if (!respSheet) {
                                            respSheet = ss.insertSheet("Responses");
                                            respSheet.appendRow(["Timestamp","Token","Name","Email","Answer"]);
                                          }
                                      
                                          // ืงืจื ืืช ื›ืœ ื”ื˜ื•ืงื ื™ื (ืžืกืคื™ืง ืœื’ื™ืœื™ื•ื ื•ืช ืงื˜ื ื™ื/ื‘ื™ื ื•ื ื™ื™ื)
                                          const tokenData = tokensSheet.getDataRange().getValues(); // ื›ื•ืœืœ ื›ื•ืชืจืช
                                          let foundRow = -1;
                                          for (let i = 1; i < tokenData.length; i++) {
                                            if (tokenData[i][0].toString().trim() === token) {
                                              foundRow = i + 1; // ืžืกืคืจ ืฉื•ืจืช ื”ื’ื™ืœื™ื•ืŸ (1-indexed)
                                              break;
                                            }
                                          }
                                      
                                          if (foundRow === -1) {
                                            return ContentService.createTextOutput(JSON.stringify({status:"error", message:"invalid token"})).setMimeType(ContentService.MimeType.JSON);
                                          }
                                      
                                          const usedVal = tokensSheet.getRange(foundRow, 4).getValue(); // ืขืžื•ื“ื” D = Used
                                          if (usedVal && usedVal.toString().toLowerCase() === "used") {
                                            return ContentService.createTextOutput(JSON.stringify({status:"error", message:"token already used"})).setMimeType(ContentService.MimeType.JSON);
                                          }
                                      
                                          // ืื•ืคืฆื™ื•ื ืœื™: ื‘ื“ื•ืง ื”ืชืืžื” ืฉืœ ืฉื/ืื™ืžื™ื™ืœ (ืื ื‘ืจืฆื•ื ืš ืœืืœืฅ ื”ืชืืžื”)
                                          // const registeredName = tokensSheet.getRange(foundRow, 2).getValue().toString().trim();
                                          // if (registeredName && name && registeredName !== name) { ... }
                                      
                                          // ืกืžืŸ ืืช ื”ื˜ื•ืงืŸ ื›ึพUsed ื•ืชืขื“ ื–ืžืŸ ื•ืฉื/ืžื™ื™ืœ ืื ืชืจืฆื”
                                          tokensSheet.getRange(foundRow, 4).setValue("used");
                                      
                                          // ืจืฉื•ื ืืช ื”ื”ืฆื‘ืขื” ื‘ึพResponses
                                          respSheet.appendRow([new Date(), token, name, email, answer]);
                                      
                                          return ContentService.createTextOutput(JSON.stringify({status:"ok"})).setMimeType(ContentService.MimeType.JSON);
                                      
                                        } catch (err) {
                                          return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON);
                                        }
                                      }
                                      
                                      function doGet(e) {
                                        try {
                                          const mode = (e.parameter.mode || "").toString();
                                          const ss = SpreadsheetApp.openById(SHEET_ID);
                                          const sheet = ss.getSheetByName("Responses");
                                          if (!sheet) return ContentService.createTextOutput(JSON.stringify({})).setMimeType(ContentService.MimeType.JSON);
                                      
                                          const data = sheet.getDataRange().getValues();
                                          const counts = {};
                                          let total = 0;
                                          for (let i = 1; i < data.length; i++) {
                                            const ans = data[i][4]; // Answer column (E)
                                            if (!ans) continue;
                                            counts[ans] = (counts[ans] || 0) + 1;
                                            total++;
                                          }
                                      
                                          const percentages = {};
                                          for (const k in counts) {
                                            percentages[k] = Math.round((counts[k] / total) * 100);
                                          }
                                      
                                          return ContentService.createTextOutput(JSON.stringify(percentages)).setMimeType(ContentService.MimeType.JSON);
                                      
                                        } catch (err) {
                                          return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON);
                                        }
                                      }
                                      

                                      ื .ื‘. ื–ื” ืื—ื“ ืžืชื•ืš ืจื‘ื™ื...

                                      ืข"ื” ื“ื›ื•"ืขืข ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                                      0
                                      • ืž ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ

                                        ื”ืกืงืจื™ืคื˜ ื‘ืกืคื•ื™ื™ืœืจ

                                        const SHEET_ID = "id ืฉืœ ื’ื™ืœื™ื•ืŸ ืฉื™ื˜ืก"; // ืขื“ื›ืŸ
                                        
                                        function doPost(e) {
                                          try {
                                            const data = JSON.parse(e.postData.contents || "{}");
                                            const answer = (data.answer || "").toString().trim();
                                            const token = (data.token || "").toString().trim();
                                            const name = (data.name || "").toString().trim();
                                            const email = (data.email || "").toString().trim();
                                        
                                            if (!answer || !token) {
                                              return ContentService.createTextOutput(JSON.stringify({status:"error", message:"missing answer or token"})).setMimeType(ContentService.MimeType.JSON);
                                            }
                                        
                                            const ss = SpreadsheetApp.openById(SHEET_ID);
                                            // ื•ื•ื“ื ืฉื™ืฉ ื’ืœื™ื•ืŸ ืœื˜ื•ืงื ื™ื ื•ืฉื ื”ื’ืœื™ื•ืŸ ื ืงืจื "Tokens"
                                            let tokensSheet = ss.getSheetByName("Tokens");
                                            if (!tokensSheet) {
                                              // ืฆื•ืจ ื’ืœื™ื•ืŸ Tokens ืขื ื›ื•ืชืจืช ืื ืœื ืงื™ื™ื
                                              tokensSheet = ss.insertSheet("Tokens");
                                              tokensSheet.appendRow(["Token","Name","Email","Used"]);
                                            }
                                        
                                            // Responses sheet
                                            let respSheet = ss.getSheetByName("Responses");
                                            if (!respSheet) {
                                              respSheet = ss.insertSheet("Responses");
                                              respSheet.appendRow(["Timestamp","Token","Name","Email","Answer"]);
                                            }
                                        
                                            // ืงืจื ืืช ื›ืœ ื”ื˜ื•ืงื ื™ื (ืžืกืคื™ืง ืœื’ื™ืœื™ื•ื ื•ืช ืงื˜ื ื™ื/ื‘ื™ื ื•ื ื™ื™ื)
                                            const tokenData = tokensSheet.getDataRange().getValues(); // ื›ื•ืœืœ ื›ื•ืชืจืช
                                            let foundRow = -1;
                                            for (let i = 1; i < tokenData.length; i++) {
                                              if (tokenData[i][0].toString().trim() === token) {
                                                foundRow = i + 1; // ืžืกืคืจ ืฉื•ืจืช ื”ื’ื™ืœื™ื•ืŸ (1-indexed)
                                                break;
                                              }
                                            }
                                        
                                            if (foundRow === -1) {
                                              return ContentService.createTextOutput(JSON.stringify({status:"error", message:"invalid token"})).setMimeType(ContentService.MimeType.JSON);
                                            }
                                        
                                            const usedVal = tokensSheet.getRange(foundRow, 4).getValue(); // ืขืžื•ื“ื” D = Used
                                            if (usedVal && usedVal.toString().toLowerCase() === "used") {
                                              return ContentService.createTextOutput(JSON.stringify({status:"error", message:"token already used"})).setMimeType(ContentService.MimeType.JSON);
                                            }
                                        
                                            // ืื•ืคืฆื™ื•ื ืœื™: ื‘ื“ื•ืง ื”ืชืืžื” ืฉืœ ืฉื/ืื™ืžื™ื™ืœ (ืื ื‘ืจืฆื•ื ืš ืœืืœืฅ ื”ืชืืžื”)
                                            // const registeredName = tokensSheet.getRange(foundRow, 2).getValue().toString().trim();
                                            // if (registeredName && name && registeredName !== name) { ... }
                                        
                                            // ืกืžืŸ ืืช ื”ื˜ื•ืงืŸ ื›ึพUsed ื•ืชืขื“ ื–ืžืŸ ื•ืฉื/ืžื™ื™ืœ ืื ืชืจืฆื”
                                            tokensSheet.getRange(foundRow, 4).setValue("used");
                                        
                                            // ืจืฉื•ื ืืช ื”ื”ืฆื‘ืขื” ื‘ึพResponses
                                            respSheet.appendRow([new Date(), token, name, email, answer]);
                                        
                                            return ContentService.createTextOutput(JSON.stringify({status:"ok"})).setMimeType(ContentService.MimeType.JSON);
                                        
                                          } catch (err) {
                                            return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON);
                                          }
                                        }
                                        
                                        function doGet(e) {
                                          try {
                                            const mode = (e.parameter.mode || "").toString();
                                            const ss = SpreadsheetApp.openById(SHEET_ID);
                                            const sheet = ss.getSheetByName("Responses");
                                            if (!sheet) return ContentService.createTextOutput(JSON.stringify({})).setMimeType(ContentService.MimeType.JSON);
                                        
                                            const data = sheet.getDataRange().getValues();
                                            const counts = {};
                                            let total = 0;
                                            for (let i = 1; i < data.length; i++) {
                                              const ans = data[i][4]; // Answer column (E)
                                              if (!ans) continue;
                                              counts[ans] = (counts[ans] || 0) + 1;
                                              total++;
                                            }
                                        
                                            const percentages = {};
                                            for (const k in counts) {
                                              percentages[k] = Math.round((counts[k] / total) * 100);
                                            }
                                        
                                            return ContentService.createTextOutput(JSON.stringify(percentages)).setMimeType(ContentService.MimeType.JSON);
                                        
                                          } catch (err) {
                                            return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON);
                                          }
                                        }
                                        

                                        ื .ื‘. ื–ื” ืื—ื“ ืžืชื•ืš ืจื‘ื™ื...

                                        ืข"ื” ื“ื›ื•"ืขืข ืžื ื•ืชืง
                                        ืข"ื” ื“ื›ื•"ืขืข ืžื ื•ืชืง
                                        ืข"ื” ื“ื›ื•"ืข
                                        ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™
                                        #24

                                        @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ื ื•, ื”ืกืงืจื™ืคื˜ ื”ื–ื” ื›ืฆื•ืจืชื• ืœื ืขื•ื‘ื“ ืœืš ื˜ื•ื‘?

                                        ื›ืžื•ื‘ืŸ ืื—ืจื™ ืฉืืชื” ืžื›ื ื™ืก ID ืืžื™ืชื™ ืฉืœ ื’ื™ืœื™ื•ืŸ

                                        ืž ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                                        0
                                        • ืข"ื” ื“ื›ื•"ืขืข ืข"ื” ื“ื›ื•"ืข

                                          @ืžืชืขื ื™ื™ืŸ-ื‘ื”ื›ืœ ื ื•, ื”ืกืงืจื™ืคื˜ ื”ื–ื” ื›ืฆื•ืจืชื• ืœื ืขื•ื‘ื“ ืœืš ื˜ื•ื‘?

                                          ื›ืžื•ื‘ืŸ ืื—ืจื™ ืฉืืชื” ืžื›ื ื™ืก ID ืืžื™ืชื™ ืฉืœ ื’ื™ืœื™ื•ืŸ

                                          ืž ืžื ื•ืชืง
                                          ืž ืžื ื•ืชืง
                                          ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ
                                          ื›ืชื‘ ื ืขืจืš ืœืื—ืจื•ื ื” ืขืœ ื™ื“ื™ ืžืชืขื ื™ื™ืŸ ื‘ื”ื›ืœ
                                          #25

                                          @ืข-ื”-ื“ื›ื•-ืข
                                          ืœื ืขื•ื‘ื“... ืœืฉืœื•ื— ืืช ื”ื“ืฃ ืฉืฉื•ืœื— ืืœื™ื•?

                                          ืข"ื” ื“ื›ื•"ืขืข ืชื’ื•ื‘ื” 1 ืชื’ื•ื‘ื” ืื—ืจื•ื ื”
                                          0

                                          • ื”ืชื—ื‘ืจื•ืช

                                          • ืื™ืŸ ืœืš ื—ืฉื‘ื•ืŸ ืขื“ื™ื™ืŸ? ื”ืจืฉืžื”

                                          • ื”ืชื—ื‘ืจื• ืื• ื”ื™ืจืฉืžื• ื›ื“ื™ ืœื—ืคืฉ.
                                          • ืคื•ืกื˜ ืจืืฉื•ืŸ
                                            ืคื•ืกื˜ ืื—ืจื•ืŸ
                                          0
                                          • ื—ื•ืงื™ ื”ืคื•ืจื•ื
                                          • ืคื•ืคื•ืœืจื™
                                          • ืœื ื ืคืชืจ
                                          • ืžืฉืชืžืฉื™ื
                                          • ื—ื™ืคื•ืฉ ื’ื•ื’ืœ ื‘ืคื•ืจื•ื
                                          • ืฆื•ืจ ืงืฉืจ