cfworker-middware-telegraf
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    cfworker-middware-telegraf

    Version

    Make telegraf (a telegram bot framework) useable in Cloudflare Workers.

    Installation

    npm i cfworker-middware-telegraf

    Usage

    1. Write your code

    // index.js
    const { Telegraf } = require('telegraf');
    const { Application, Router } = require('@cfworker/web');
    const createTelegrafMiddware = require('cfworker-middware-telegraf');
     
    const bot = new Telegraf('BOT_TOKEN');
     
    // Your code here, but do not `bot.launch()`
     
    const router = new Router();
    router.post('/SECRET_PATH', createTelegrafMiddware(bot));
    new Application().use(router.middleware).listen();

    2. Webpack your code and upload to cfworker

    // webpack.config.js
    module.exports = {
      target: 'webworker',
      entry: './index.js',
      mode: 'production',
      node: {
        fs: 'empty',
      },
      module: {
        rules: [
          {
            test: /\.mjs$/,
            include: /node_modules/,
            type: 'javascript/auto',
          },
        ],
      },
      performance: {
        hints: false,
      },
    };

    Just copy and paste built code to cfworker online editor and save.

    Or you can use Wrangler, an official CLI tool, so you don't need to copy and paste code manually anymore. But I don't like it due to its inexplicable bugs on Win10.

    3. Set telegram bot webhook

    These codes only need to be run once locally.

    const Telegraf = require('telegraf');
    const bot = new Telegraf('BOT_TOKEN');
     
    // set webhook
    bot.telegram.setWebhook('https://your.cfworker.domain/SECRET_PATH');
     
    // delete webhook
    // bot.telegram.deleteWebhook();
     
    // get webhook info
    // bot.telegram.getWebhookInfo().then(console.log);

    Install

    npm i cfworker-middware-telegraf

    DownloadsWeekly Downloads

    2

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    5.1 kB

    Total Files

    9

    Last publish

    Collaborators

    • tsuk1ko