我正在使用github.com/go-telegram-bot-api创建我的机器人。我想询问客户的位置。我该怎么做?到目前为止,我做到了这一点:
updates, err := bot.GetUpdatesChan(u)
for update := range updates {
if update.Message == nil {
continue
}
switch update.Message.Text {
case "/shop":
msg := tgbotapi.NewMessage(update.Message.Chat.ID,"Send me your location")
//I need to make this message ask for the location
msg.Text = tgbotapi.ChatFindLocation
bot.Send(msg)
continue
}
}
答案 0 :(得分:1)
不幸的是,在他们的存储库中没有这方面的例子。我读了一些他们的代码来弄清楚如何去做。
这是一个示例机器人,它为每条消息请求位置。我创建了一个按钮虚拟键盘,点击时共享位置。
package main
import (
"gopkg.in/telegram-bot-api.v4"
"log"
)
const botToken = "Put your bot token here!"
func main() {
bot, err := tgbotapi.NewBotAPI(botToken)
if err != nil {
log.Panic(err)
}
bot.Debug = true
log.Printf("Authorized on account %s", bot.Self.UserName)
u := tgbotapi.NewUpdate(0)
u.Timeout = 60
updates, err := bot.GetUpdatesChan(u)
for update := range updates {
if update.Message == nil {
continue
}
log.Printf("[%s] %s", update.Message.From.UserName, update.Message.Text)
msg := tgbotapi.NewMessage(update.Message.Chat.ID, "Hi")
//msg.ReplyToMessageID = update.Message.MessageID
btn := tgbotapi.KeyboardButton{
RequestLocation: true,
Text: "Gimme where u live!!",
}
msg.ReplyMarkup = tgbotapi.NewReplyKeyboard([]tgbotapi.KeyboardButton{btn})
bot.Send(msg)
}
}