gpt4 book ai didi

go - 在运行时将新的处理程序添加到telegrambot

转载 作者:行者123 更新时间:2023-12-03 10:09:36 40 4
gpt4 key购买 nike

我正在使用https://github.com/tucnak/telebot在golang中创建一个机器人。在机器人启动后,我想添加一个处理程序,但是它不起作用。换句话说,我想在运行时添加一个处理程序。

package main

import (
"log"
"time"

tb "gopkg.in/tucnak/telebot.v2"
)

func main() {
b, err := tb.NewBot(tb.Settings{
// You can also set custom API URL.
// If field is empty it equals to "https://api.telegram.org".
URL: "http://195.129.111.17:8012",

Token: "TOKEN_HERE",
Poller: &tb.LongPoller{Timeout: 10 * time.Second},
})

if err != nil {
log.Fatal(err)
return
}

b.Handle("/delete", func(m *tb.Message) {
user = m.Sender.ID
prepareUserButtons(user,b)
b.Send(m.Sender, "test")
})

b.Start()
}

func prepareUserButtons(user int, b *tb.Bot){
key := "/delete" + strconv.Itoa(user)
b.Handle(key, func(m *tb.Message) {
b.Send(m.Sender, "this is sample")
})
}
为了简单起见,我在上面写了一个简单的示例。所以这不是我的代码,而是我的意思的示例。机器人启动后创建新的处理程序(运行时)。

最佳答案

好了,您可以在启动机器人之后(主功能)创建一个新的处理程序,但是必须在bot.start()之前调用该处理程序。您可以创建一个名为handleDelete的新函数,然后可以在其中处理/delete,然后在bot.start()之前立即调用该函数。希望有道理。

关于go - 在运行时将新的处理程序添加到telegrambot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64168877/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com