Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

wa-chat-server-telegram

Package Overview
Dependencies
Maintainers
3
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wa-chat-server-telegram

wa-chat-server adapter for Telegram

  • 0.3.8
  • latest
  • npm
  • Socket score

Version published
Maintainers
3
Created
Source

wa-chat-server-telegram

wa-chat-server-telegram is a wa-chat-server adapter for the Telegram messenger.

Create a Telegram Bot

  1. Contact BotFather from your Telegram messenger.
  2. Type /newbot and answer the questions.
  3. Save the token for further use.

Adapter Usage

Register The Adapter

An initialization of the wa-chat-server (in a chat application using wa-chat-server to communicate with Watson Assistant) with a wa-chat-server-telegram adapter looks like this:

require('dotenv').config();
import { WAChatServer, Types } from 'wa-chat-server';
import { WAChatServerTelegramAdapter } from 'wa-chat-server-telegram';
const server: WAChatServer = new WAChatServer((process.env as any) as Types.IWAChatServerConfig);
server.addAdapter('telegram', WAChatServerTelegramAdapter);
server.serve();

Configure The Adapter

We must set the following environment variables (e. g. in .env):

VariableObligatoryMeaning
adapter__telegram__tokenYThe Bot token generated by the BotFather
adapter__telegram__apiUrlYThe Telegram endpoint, typically https://api.telegram.org)
adapter__telegram__callbackUrlYThe endpoint to be called by Telegram (without the path adapters/telegram
adapter__telegram__webhookLifetimeSNThe Telegram webhook lifetime in seconds. Whenever the lifetime is reached a new webhook URL (containing a random token) is generated. 0 by default which means "generate URL only once at application startup"

Local Development

HTTP Tunnel Setup

For local development we need to set up a secure tunnel localhost and Telegram. We can use ngrok for this purpose:

ngrok http 3023

opens a tunel and gives us a public HTTPS URL to be used by Telegram (without an ngrook account the lifetime of the tunnel will be 2 hours). We must then use the Telegram API to configure this URL in Telegram:

export ENDPOINT="[NGROK_URL]"; export TOKEN=[BOT_TOKEN]; curl -X POST -H "Content-Type:application/json" -d "{\"url\":\"$ENDPOINT/adapters/telegram\"}" "https://api.telegram.org/bot$TOKEN/setwebhook"

We may inspect the communication tunneled by ngrok to localhost on http://localhost:4040.

IMPORTANT: Don't do it for a Telegram bot that is already attached to some server installation. Create your own Telegram bot instead.

Transpilation

Run

npm run dev

Linking The Library to The Chat Project

Run

npm link

from the wa-chat-server-telegram root folder.

and then

npm link wa-chat-server-telegram

from the root of your chat application.

Keywords

FAQs

Package last updated on 30 May 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc