telegram-bot-api/bot.go

36 lines
769 B
Go
Raw Normal View History

// Package tgbotapi has bindings for interacting with the Telegram Bot API.
package tgbotapi
import "net/http"
// BotAPI has methods for interacting with all of Telegram's Bot API endpoints.
type BotAPI struct {
Token string `json:"token"`
Debug bool `json:"debug"`
2015-06-26 06:44:14 +02:00
Self User `json:"-"`
Updates chan Update `json:"-"`
Client http.Client `json:"-"`
}
// NewBotAPI creates a new BotAPI instance.
2015-06-26 08:19:29 +02:00
// Requires a token, provided by @BotFather on Telegram
2015-07-27 00:22:10 +02:00
func NewBotAPI(token string, client *http.Client) (*BotAPI, error) {
if client == nil {
client = &http.Client{}
}
bot := &BotAPI{
Token: token,
2015-07-27 00:22:10 +02:00
Client: *client,
}
2015-06-26 06:44:14 +02:00
self, err := bot.GetMe()
if err != nil {
return &BotAPI{}, err
2015-06-26 06:44:14 +02:00
}
bot.Self = self
2015-06-26 06:45:56 +02:00
return bot, nil
}