Skip to content

dfvgbh/deno-telegram-bot-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bot API Version

!!!NOT SUPPORTED!!!

it won't work with latest Deno versions, feel free to fork and update as you wish

deno-telegram-bot-api

🦕 wrapper for Telegram Bot API

Join Discord channel https://discord.gg/6VMcmxAnT8

Features

  • Fully typed API follows the official Telegram API (v5.0)
  • Minimal domain-specific knowledge required
  • Polling and Webhook server for getting updates
  • A simple way for sending media files

Examples

For all examples check the examples directory

The example of a bot which responds with a file containing a user message inside.

import { TelegramBot, UpdateType } from "https://deno.land/x/telegram_bot_api/mod.ts"

const TOKEN = Deno.env.get("TOKEN");
if (!TOKEN) throw new Error("Bot token is not provided");
const bot = new TelegramBot(TOKEN);

bot.on(UpdateType.Message, async ({ message }) => {
  const text = message.text || "I can't hear you";
  await bot.sendDocument({
    chat_id: message.chat.id,
    document: new File([text], "echo.txt"),
  });
});

bot.run({
  polling: true,
});

Let's run the example above right from the terminal:

# MacOS, Linux
TOKEN=your-bot-token deno run --allow-net --allow-env https://deno.land/x/telegram_bot_api/examples/sending-files/01-simple-media.ts
# Windows
set TOKEN=your-bot-token && deno run --allow-net --allow-env https://deno.land/x/telegram_bot_api/examples/sending-files/01-simple-media.ts