0

如何将新的 Telegram Bot 用户插入 CouchDB?
我在 db 中插入了一个示例数据jack johns并且没问题,但我不知道应该如何获取 Telegram 用户用户名并将其放入 Db。 这是我的代码:

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);
});
4

1 回答 1

1

由我自己解决,对于您可以使用的用户 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);
});
于 2017-03-07T10:27:50.897 回答