Tgux

Make own stateful telegram bot based on Redux
Alternatives To Tgux
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Urban Bot4755a month ago41September 19, 202236mitTypeScript
🤖 The universal chatbot library based on React. Write once, launch Telegram, Discord, Facebook, ... every messenger with chatbots
Dclone58
10 months agon,ullmitTypeScript
Fully working Discord clone with the essential features. Made with React + Redux + TypeScript.
Iot27
13 days ago51mitJavaScript
General purpose Internet of Things platform
React Class17
3 years agoHTML
Sample codes and practice
Scunm17
a year ago10mitJavaScript
Text Adventure Engine, Editor and Telegram Bot host
Telegram Web Client4
5 years agoJavaScript
Telegram Web Client
Tgux3
5 years agomitJavaScript
Make own stateful telegram bot based on Redux
Telegram Theme Editor2
6 years agoTypeScript
visual theme telegram editor
Alternatives To Tgux
Select To Compare


Alternative Project Comparisons
Readme

tgux

Build Status npm version GitHub license

Make own stateful telegram bot based on Redux. Works on top of node-telegram-bot-api

Main features:

  • stateful bot
  • activities
  • history (back/forward/params)
  • storage support
  • form implementation

Install

npm install --save tgux

Demo

Usage

import Tgux from 'tgux'

var bot = new Tgux('TOKEN HERE', {polling: true})

bot.createActivity('start', (activity) => {
  activity.on('home', (msg) => {
    const opts = {
      reply_markup: {
        keyboard: activity.keyboards,
        resize_keyboard: true,
      }
    }
    bot.sendMessage(msg.chat.id, `hello ${msg.from.first_name}`, opts)
  })

  activity.on('Help', ['help', 'home'])
})

bot.createActivity('help', (activity) => {
  activity.on('home', (msg, history) => {
    const opts = {
      reply_markup: {
        keyboard: activity.keyboards,
        resize_keyboard: true,
      }
    }
    bot.sendMessage(msg.chat.id, 'help', opts)
  })

  activity.on('back', ['start', 'home'])
})

Custom Cache Handler

var co = require('co');
var redisClient = require('redis').createClient();
var wrapper = require('co-redis');
var redisCo = wrapper(redisClient);

const CacheHandler = class {
  set(key, value) {
    return redisCo.set(key, JSON.stringify(value))
  }

  *get(key) {
    let value = yield redisCo.get(key)
    if (!value) {
      return false
    }
    return JSON.parse(value)
  }
}

bot.setCacheHandler(CacheHandler)

License

The MIT License (MIT)

Copyright (c) 2017 Esmaeilpour

Popular Redux Projects
Popular Telegram Projects
Popular User Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Javascript
Redux
Telegram
Telegram Bot
Immutable
Telegram Bot Api
Bot Framework
Telegram Api