我可以使用Telegraf框架请求用户的一次性位置:
bot.start(ctx =>
const keyboard = Extra.markup(markup =>
markup
.resize()
.keyboard([
markup.contactRequestButton('Give phone number'),
markup.locationRequestButton('Give location')
])
)
ctx.replyWithMarkdown('a message to user', keyboard)
)
有没有办法请求实时位置?
答案 0 :(得分:0)
我希望它有所帮助:
bot.onText(/^\/place_order/, function (msg, match) {
var option = {
"parse_mode": "Markdown",
"reply_markup": {
"one_time_keyboard": true,
"keyboard": [[{
text: "My phone number",
request_contact: true
}], ["Cancel"]]
}
};
bot.sendMessage(msg.chat.id, "How can we contact you?", option).then(() => {
bot.once("contact",(msg)=>{
var option = {
"parse_mode": "Markdown",
"reply_markup": {
"one_time_keyboard": true,
"keyboard": [[{
text: "My location",
request_location: true
}], ["Cancel"]]
}
};
bot.sendMessage(msg.chat.id,
util.format('Thank you %s with phone %s! And where are you?', msg.contact.first_name, msg.contact.phone_number),
option)
.then(() => {
bot.once("location",(msg)=>{
bot.sendMessage(msg.chat.id, "We will deliver your order to " + [msg.location.longitude,msg.location.latitude].join(";"));
})
})
})
})