0.0.9 • Published 9 years ago

adbot v0.0.9

Weekly downloads
4
License
ISC
Repository
github
Last release
9 years ago

Node.js client for adbot.io

Adbot.io is advertising platform for telegram bots.

Install

$ npm install adbot

API

var adbot = require('adbot')('ADBOT_API_KEY', BOT_ID);

Usage

Pushing event

var adbot = require('adbot')(ADBOT_API_KEY, BOT_ID);

// ...
// Pushing event in some moment
//
var params = {
  // the event must be registered at http://adbot.io
  event: 'somePrettyEventName',

  // optional, default is false. Show test message to user
  test: true,

  // seet "chat" field from https://core.telegram.org/bots/api#message
  chat: {
    id: 123456,
    type: 'private'
  },

  // see "user" field from https://core.telegram.org/bots/api#message
  from: {
    id: 123456,
    username: 'john_doe',
    firstName: 'John',
    lastName: 'Doe'
  },

  // optional
  reply_to_message_id: 2345678,

  // optional, should be JSON or JSON-serialized object
  // see:
  // https://core.telegram.org/bots/api#replykeyboardmarkup
  // https://core.telegram.org/bots/api#replykeyboardhide
  // https://core.telegram.org/bots/api#forcereply
  reply_markup: {}
};
adbot.emitEvent(params, function (err, res) {
  if (res.shown) {
    console.log('Advert shown to user')
  }
  else {
    console.log('Advert not shown to user.')
    if (res.error) {
      console.error(res.error);
    }
  }
});

Sync bot (partner API)

var adbot = require('adbot')(ADBOT_API_KEY, BOT_ID);

// Some route, which handles sync
app.post('/my_sync_handler', function (req, res) {
  adbot.partnerSync(req.body, function (callback) {
    // Your should return a promise or invoke the callback with follow data:
    // If action is 'enable' then a list of events with descriptions
    // Otherwise if action is 'disable' then {success: true}
    // In both cases your should provide a telegram API key of the bot to calculate the digest.
    // API key will not be transfer to adbot.io
    // ...
    // Your code here.
    getBotDataInSomeWay(function (err, bot) {
      if (err) {
        return callback(err);
      }
      var data = {key: bot.key};
      // Enable bot in some way
      if (req.body.action === 'enable') {
        data.events = [
          {name: 'event1', description: 'some description'},
          {name: 'event2', description: 'some description'}
        ]
        callback(null, data)
      }
      // Disable bot in some way
      else {
        bot.disableBotInSomeWay(function (err) {
          if (err) {
            return callback(err)
          }
          data.success = true;
          callback(null, data)
        });
      }
    });
  });
});
0.0.9

9 years ago

0.0.8

9 years ago

0.0.7

9 years ago

0.0.6

9 years ago

0.0.5

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago