/nordic-whales-bot

A simple Telegram bot for opting in community events

Primary LanguageTypeScript

NordicWhalesBot

A simple telegram bot to collect username list for community events for @NordicWhalesLounge 🐋

Commands

  • /join ➡️ The username is stored in a duplicate free array. It must not be a bot.

  • /list ➡️ Returns the users with full detail (admins only).

  • /listUsernames ➡️ Returns the list of usernames (admins only).

Architecture

Monorepo workspace generated with Nx

Server framework NestJS

Telegram bot framework TelegrafJS (NestJS addon)

MacOS executable built with nexe

User data

The data collected for the user represented by the User interface.

export  interface  User  {
	id:  number;
	is_bot:  boolean;
	first_name:  string;
	last_name?:  string  |  undefined;
	username?:  string  |  undefined;
	language_code?:  string  |  undefined;
}

Usage

Install via npm or execute main executable file.

Environment

  • TELEGRAM_BOT_TOKEN ➡️ Valid telegram bot API token
  • ADMINS ➡️ The list of the usernames of the admins

Issues

(TelegrafJS) NestJS guard crashing server when canActivate is false