Skip to main content
Deno 2 is finally here 🎉️
Learn more

grammY

The grammY package 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.

Quickstart

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 "https://deno.land/x/grammy/mod.ts";

// 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?"));
bot.on(
    "edited_message",
    (ctx) =>
        ctx.reply("Ha! Gotcha! You just edited this!", {
            reply_to_message_id: ctx.editedMessage.message_id,
        }),
);

// Launch!
bot.start();

Congratulations! You have successfully created your first Telegram bot.

You can run it like so:

deno run --allow-env --allow-net bot.ts