2017-03-07 54 views
0

如何将新Telegram Bot用户插入到CouchDB?
我插入一个样本数据jack johns在分贝和是好的,但我不知道我应该如何采取电报用户的用户名并把它放在Db。 这是我的代码:电报机器人和CouchDB将新用户插入数据库

import 'babel-polyfill'; 
import './env'; 
import TelegramBot from 'node-telegram-bot-api';  
const bot = new TelegramBot(process.env.BOT_TOKEN, {polling: true}); 
/////////////////////////////////// Sample Data 
var server = require('couch-db')('http://localhost:5984'); 

var db = server.database('users'); 
db.destroy(function(err) { 
    // create a new database 
    db.create(function(err) { 
     // insert a document with id 'jack johns' 
     db.insert({ _id: 'jack johns', name: 'jack' }, function(err, body) { 
      if (err) { 
       console.log('insertion failed ', err.message); 
       return; 
      } 
      console.log(body); 
      // body will like following: 
      // { ok: true, 
      //  id: 'jack johns', 
      //  rev: '1-610953b93b8bf1bae12427e2de181307' } 
     }); 
    }); 
}); 
////////////////////////////// 
bot.onText(/^[\/!#]start$/, msg => { 
const opts = { 
    reply_to_message_id: msg.message_id, 
    reply_markup: JSON.stringify({ 
     keyboard: [['Store username']], 
     resize_keyboard:true, 
     one_time_keyboard: true 
    }) 
    }; 
    bot.sendMessage(msg.chat.id, 'You Are Exist in DB', opts); 
}); 
+0

只是一般的边缘情况下,你可能会想注意:有些人没有用户名,因为它不是强制性的:) –

+0

我知道亲爱的,这是一个例子,由Myselfe解决 –

+0

好听,因为你设法解决它自己记得标记为答案。 –

回答

1

解决了Myselfe, 对于用户ID,您可以使用User_ID: msg.from.id

这是我的代码:

bot.onText(/^[\/!#]start$/, msg => { 

    db.insert({ _id: msg.from.username }, function(err, body) { 
      if (err) { 
       console.log('insertion failed ', err.message); 
       return; 
      } 
      console.log(body); 

     }); 

const opts = { 
    reply_to_message_id: msg.message_id, 
    reply_markup: JSON.stringify({ 
     keyboard: [['Store username']], 
     resize_keyboard:true, 
     one_time_keyboard: true 
    }) 
    }; 
    bot.sendMessage(msg.chat.id, 'You Are Exist in DB', opts); 
});