Giter VIP home page Giter VIP logo

simple-telegram's Introduction

Simple-Telegram

Allow your programs to talk to you by Telegram

Pre-requisites

Simple-telegram is based in vysheng’s telegram-cli project. You must install and configure this great project previously to use simple-telegram. You can obtain every info that you need in vysheng’s repository.

Also, you must install nodeJs 0.10 or above. You can check more info here.

##Installation

Easy. If you use npm (recommended):

npm install simple-telegram

If you prefer git:

git clone https://github.com/GuillermoPena/simple-telegram.git

Simple-telegram has been tested in Ubuntu 14.04 and Raspberry Pi with Raspbmc. This doesn’t mean that simple-telegram doesn’t work in other systems… try it!

##How to use it

Simple-telegram allows send and receive messages by Telegram so, how do it?

  1. Sending a message:

    Using ‘send’ public method Sintaxis: tg.send(userName, message) Example:

    var SimpleTelegram = require('simple-telegram')
    var stg = new SimpleTelegram()
    
    // Replace next values to your own paths
    var tgBinFile  = "[your path]/telegram-cli"
    var tgKeysFile = "[your path]/tg-server.pub"
    
    // Creating simpleTelegram object
    stg.create(tgBinFile, tgKeysFile)
    
    stg.send("John", "Hi John!")
  2. Receiving a message:

    Catching ‘receivedMessage’ event, which provide you a object like this: msg = { “caller”:”John”; “content”: “Hi”; "command": "Hi"; "args":"" } Example:

    var SimpleTelegram = require('simple-telegram')
    var stg = new SimpleTelegram()
    
    // Replace next values to your own paths
    var tgBinFile  = "[your path]/telegram-cli"
    var tgKeysFile = "[your path]/tg-server.pub"
    
    // Creating simpleTelegram object
    stg.create(tgBinFile, tgKeysFile)
    
    stg.getProcess().stdout.on("receivedMessage", function(msg) {
        console.log("\nReceived message")
        console.dir(msg)
    })
  3. Send and receive a message from another program with socket.io... ...and other optionals functions.

    Server side:

    var SimpleTelegram = require('simple-telegram')
    var stg = new SimpleTelegram()
    
    // Replace next values to your own paths
    var tgBinFile  = "[your path]/telegram-cli"
    var tgKeysFile = "[your path]/tg-server.pub"
    
    // Creating simpleTelegram object
    var options = '-vv'	// Extra telegram option (more verbose output)
    
    // If you want send messages from another program, you must specify a port
    stg.setSocketPort(3008)
    
    // You can add one or more loggers (winston loggers) to files, DBs.. etc
    stg.addLogger(logger)
    
    // Also, you can set a debug file for telegram process
    stg.setTelegramDebugFile(tgDebugfile)
    
    // Launching telegram process
    stg.create(tgBinFile, tgKeysFile, options)

    Client side:

    var io      = require('socket.io/node_modules/socket.io-client')
    var socket  = io.connect( 'http://localhost:' + port) // Port of server side
    
    socket.on('connect', function(){
    	console.log("Connected!")
    	socket.on('disconnect', function(){
    		console.log('Disconnected!')
    		return 0
    	})
    
    	// 'to' is a Telegram-cli contact
    	var message = { "from":"Test", "to":"Customer", "content":"Hi" }
    	console.log("Sending message...")
    	console.dir(message)
    	socket.emit('message', message)
    })

Contributors

simple-telegram's People

Contributors

guillermopena avatar setola avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.