Javascript 电报bot和CouchDB向数据库插入新用户
如何将新电报机器人用户插入CouchDB?Javascript 电报bot和CouchDB向数据库插入新用户,javascript,couchdb,telegram-bot,node-telegram-bot-api,Javascript,Couchdb,Telegram Bot,Node Telegram Bot Api,如何将新电报机器人用户插入CouchDB? 我在数据库中插入了一个示例数据jackjohns,还可以,但我不知道如何获取电报用户的用户名并将其放入数据库中。 这是我的代码: import 'babel-polyfill'; import './env'; import TelegramBot from 'node-telegram-bot-api'; const bot = new TelegramBot(process.env.BOT_TOKEN, {polling: true})
我在数据库中插入了一个示例数据
jackjohns
,还可以,但我不知道如何获取电报用户的用户名并将其放入数据库中。
这是我的代码:
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);
});
由我自己解决,
对于用户ID,您可以使用User\u 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);
});
这只是一个你可能需要注意的一般情况:有些人没有用户名,因为它不是强制性的:)我知道,亲爱的,这是一个例子,我自己解决了,因为你自己解决了,记得把它标记为已回答。它说,你不能在2天内接受你的Awnser。对了,我的错,我忘了。然后过几天再来:P