Elezthem
@Elezthem
17 лет, плохое зрение...

Неверны адрес на Go, как исправить?

Пишу ТГ бота на GO, но при запуске консоль не закрывается а выдается вот такая ошибка
" Exception has occurred: panic
"runtime error: invalid memory address or nil pointer dereference"
Stack:
	4  0x0000000000a4d19d in main.main
	    at c:/Users/hendr/Downloads/GoTelegramBot/main.go:32 "


Попробовал поменять на диск D, тоже самое пишет, или какой путь нужно менять? Я новичок на Go, поэтому честно не знаю как исправить.

Вот код
package main

import (
	"log"
	"os"

	tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
)

var gBot *tgbotapi.BotAPI
var gToken string
var gChat int64

func isStartMessage(update *tgbotapi.Update) bool {
	return update.Message != nil && update.Message.Text == "/start"
}

func int() {
	_ = os.Setenv(TOKEN_NAME_IN_OS, "")

	gToken = os.Getenv(TOKEN_NAME_IN_OS)

	var err error
	// TODO: get gToken value
	if gBot, err = tgbotapi.NewBotAPI(gToken); err != nil {
		log.Panic(err)
	}
	gBot.Debug = true
}

func main() {
	log.Printf("Authorized on account %s", gBot.Self.UserName)

	updateConfig := tgbotapi.NewUpdate(0)
	updateConfig.Timeout = UPDATE_CONFIG_TIMEOUT

	for update := range gBot.GetUpdatesChan(updateConfig) {
		if isStartMessage(&update) {
			log.Printf("[%s] %s", update.Message.From.UserName, update.Message.Text)

			msg := tgbotapi.NewMessage(update.Message.Chat.ID, update.Message.Text)
			msg.ReplyToMessageID = update.Message.MessageID

			gBot.Send(msg)
		}

		//TODO: implement processing other types updates
	}
}
  • Вопрос задан
  • 288 просмотров
Решения вопроса 1
2ord
@2ord
Это из-за опечатки в определении func init()
функция должна была инициализировать gBot. init запускается автоматически при старте, но и-за опечатки этого не произошло.

Добавлено
И это лишь начало пути. Нужно научиться читать вывод ошибок.
at c:/Users/hendr/Downloads/GoTelegramBot/main.go:32
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы