The grammY module lets you easily write Telegram bots. Here is a quickstart for you to get started, but note that a better explanation is in our repo on GitHub.

You may also want to check out the docs.


Talk to @BotFather to create a new Telegram bot and obtain a bot token.

Paste the following code into a new file bot.ts.

import { Bot } from "";

// Create bot object
const bot = new Bot(""); // <-- place your bot token inside this string

// Listen for messages
bot.command("start", (ctx) => ctx.reply("Welcome! Send me a photo!"));
bot.on("message:text", (ctx) => ctx.reply("That is text and not a photo!"));
bot.on("message:photo", (ctx) => ctx.reply("Nice photo! Is that you?"));
    (ctx) =>
        ctx.reply("Ha! Gotcha! You just edited this!", {
            reply_to_message_id: ctx.editedMessage.message_id,

// Launch!

Congratulations! You have successfully created your first Telegram bot.

You can run it like so:

deno run --allow-net bot.ts