如何显示来自telego Go机器人的HTML标记?

xn1cxnb4  于 2022-12-20  发布在  Go
关注(0)|答案(2)|浏览(114)

我想从我的机器人向客户端推送一条格式化的消息,与Durger King应用程序的方式大致相同。在对机器人的任何输入的响应中,一条显示格式化的“让我们开始吧”的消息将与一张图片沿着显示。下面是order food WebApp按钮,可以打开PWA。
这是简单的图像还是格式化的HTML,这可能更容易管理.
如何使用telego Go机器人发送图像或格式化的HTML?

uelo1irk

uelo1irk1#

以下是实现这一目标的可能错误方法:

var (helloMsg    = &tele.Message{Text: "<b>Let's get started!</b>🍟"})

func main() {   
pref := tele.Settings{
    Token:  os.Getenv("TOKEN"),
    Poller: &tele.LongPoller{Timeout: 5 * time.Second},
}

b, err := tele.NewBot(pref)
if err != nil {
    log.Fatal(err)
    return
}

    b.Handle("/start", func(c tele.Context) error {
    log.Println("Detected Start")
    b.Send(c.Message().Sender, helloMsg.Text, &tele.SendOptions{
        ParseMode: "HTML",
    }, webapp)
    return nil
})}
}

我还没有试过看看是否可以使用上下文来代替机器人本身,返回nil可能不是一个好主意。但本质上,这是将ParseMode设置为HTML,并以某种方式粘贴表情符号。
它看起来是这样的:

frebpwbc

frebpwbc2#

下面是使用上下文的版本:

b.Handle("/start", func(c tele.Context) error {
    log.Println("Detected Start")
    b.Send(c.Message().Sender, helloMsg.Text, &tele.SendOptions{
        ParseMode: "HTML",
    }, webapp)
    return nil
})

相关问题