You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Donnie Adams 9f28ce1c2e Update Readme 10 years ago
LICENSE.txt add license 10 years ago
README.md Update Readme 10 years ago
bot.go fix all golint errors, add info about audio uploads 10 years ago
helpers.go Fix typo 10 years ago
methods.go Removed errant log command. 10 years ago
types.go Change order of preference for displaying names 10 years ago
updates.go slight code improvments, better language 10 years ago

README.md

Golang Telegram bindings for the Bot API

GoDoc

This was forked from Syfaro. I consolidate a few of the sending methods and reorganized the code a little bit. Ultimately, the credit should go to Syfaro.

Example

This is a very simple bot that just displays any gotten updates, then replies it to that chat.

package main

import (
	"log"
	"github.com/Syfaro/telegram-bot-api"
)

func main() {
	bot, err := tgbotapi.NewBotAPI("MyAwesomeBotToken")
	if err != nil {
		log.Panic(err)
	}

	bot.Debug = true

	log.Printf("Authorized on account %s", bot.Self.UserName)

	u := tgbotapi.NewUpdate(0)
	u.Timeout = 60

	updates, err := bot.UpdatesChan(u)

	for update := range updates {
		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

		bot.SendMessage(msg)
	}
}