-
Brand new Bot API!
-
Zero-configuration library
-
Simple and clear interface
go get github.com/mail-ru-im/bot-golang
Create your own bot by sending the /newbot command to Metabot and follow the instructions.
Note a bot can only reply after the user has added it to his contacts list, or if the user was the first to start a dialogue.
package main
import "github.com/mail-ru-im/bot-golang"
func main() {
bot, err := botgolang.NewBot(BOT_TOKEN)
if err != nil {
log.Println("wrong token")
}
message := bot.NewTextMessage("awesomechat@agent.chat", "text")
message.Send()
}
You can create, edit and reply to messages like a piece of cake.
message := bot.NewTextMessage("awesomechat@agent.chat", "text")
message.Send()
fmt.Println(message.MsgID)
message.Text = "new text"
message.Edit()
// AWESOME!
message.Reply("hey, what did you write before???")
// SO HOT!
Get all updates from the channel. Use context for cancellation.
ctx, finish := context.WithCancel(context.Background())
updates := bot.GetUpdatesChannel(ctx)
for update := range updates {
// your awesome logic here
}
You don't need this. But if you do, you can override bot's API URL:
bot := botgolang.NewBot(BOT_TOKEN, botgolang.BotApiURL("https://agent.mail.ru/bot/v1"))
And debug all api requests and responses:
bot := botgolang.NewBot(BOT_TOKEN, botgolang.BotDebug(true))