成功付款后,我尝试发送一条消息/照片消息,但引发以下错误:
Error: Telegraf: "replyWithPhoto" isn't available for "pre_checkout_query::"
我的代码如下:
bot.on('pre_checkout_query', (ctx) => {
ctx.answerPreCheckoutQuery(true)
.then(() => {
let photo = //setup photo...
let options = //setup caption and image url...
ctx.replyWithPhoto(photo, options)
})
})
通过Telegram Bot API成功付款后,是否绝对没有任何后续消息?
编辑:
bot.on('pre_checkout_query', (ctx) => {
let data = ctx.update.pre_checkout_query
ctx.answerPreCheckoutQuery(true)
.then(() => {
let message = 'Thanks for the purchase!'
bot.telegram.sendMessage(data.from.id, message)
})
})
答案 0 :(得分:0)
您可以使用Telegraf.telegram.sendMessage(chatId, text)
进行处理,也可以使用Telegraf.telegram.sendPhoto(chatId, photo)
来回复照片
答案 1 :(得分:0)
借助此post,设法弄清楚了该怎么做。
要在“您刚刚成功将$ XXX转移到...”标语之后发送消息,我们需要收听successful_payment
消息。这是实现:
bot.on('pre_checkout_query', (ctx) => {
ctx.answerPreCheckoutQuery(true)
})
bot.on('message', (ctx) => {
if (ctx.update.message.successful_payment != undefined) {
ctx.reply('Thanks for the purchase!')
} else {
// Handle other message types, subtypes
}
})