我在 golang 上开发了一个机器人。使用 ubuntu 20.01 OS 在 vds 上启动它,效果很好,但是当我开始调试我的代码时,这是一个问题。因此,我决定将我的 PC 用作 VDS:我打开了一个8443端口等。但是当main.go启动时,我收到一个错误:
listen tcp [ip]:8443: bind: The requested address is not valid in its context.
我的代码:
package main
import (
"./configuration"
"./get_data"
"encoding/json"
"fmt"
tgBotApi "github.com/go-telegram-bot-api/telegram-bot-api"
"io/ioutil"
"net/http"
"strings"
"time"
)
var (
NewBot, BotErr = tgBotApi.NewBotAPI(configuration.BOT_TOKEN)
)
func setWebhook(bot *tgBotApi.BotAPI) {
webHookInfo := tgBotApi.NewWebhookWithCert(fmt.Sprintf("https://%s:%s/%s",
configuration.BOT_HOST, configuration.BOT_PORT, configuration.BOT_TOKEN), configuration.CERT_FILE)
_, err := bot.SetWebhook(webHookInfo)
if err != nil {
fmt.Println(err)
}
}
func main () {
fmt.Println("OK", time.Now().Unix(), time.Now(), time.Now().Weekday())
setWebhook(NewBot)
message := func (w http.ResponseWriter, r *http.Request) {
text, _ := ioutil.ReadAll(r.Body)
var botText = get_data.BotMessage{}
_ = json.Unmarshal(text, &botText)
chatGroup := int64(botText.Message.Chat.Id)
botCommand := strings.Split(botText.Message.Text, "@")[0]
/*markup := tgBotApi.InlineKeyboardMarkup{
InlineKeyboard: [][]tgBotApi.InlineKeyboardButton{
[]tgBotApi.InlineKeyboardButton{
tgBotApi.InlineKeyboardButton{Text: "start"},
},
},
我已经成了类似本主题的证书:为 Telegram Webhook 创建和使用自签名证书的简单方法是什么?
此外,我试图设置 0.0.0.0 而不是我的公共 IP,然后出现此错误:
Bad Request: bad webhook: IP address 0.0.0.0 is reserved
婷婷同学_
相关分类