diff options
author | Alexander Kiryukhin <a.kiryukhin@mail.ru> | 2019-09-05 22:43:32 +0300 |
---|---|---|
committer | Alexander Kiryukhin <a.kiryukhin@mail.ru> | 2019-09-05 22:43:32 +0300 |
commit | 6e4ade909d9b3a0a4a8dd8c11a4b1984b84f09e4 (patch) | |
tree | 11e5e2017501f68ac9b1705edfccd6af3134a3eb /README.md | |
parent | 29322bf303815d477a83fee0e598006b651599a4 (diff) |
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 63 |
1 files changed, 3 insertions, 60 deletions
@@ -19,66 +19,9 @@ ## Пример -```go -package main - -import ( - "context" - "fmt" - "log" - "os" - "os/signal" - - "github.com/neonxp/tamtam" -) - -func main() { - api := tamtam.New(os.Getenv("TOKEN")) - - info, err := api.Bots.GetBot() // Простой метод - log.Printf("Get me: %#v %#v", info, err) - ctx, cancel := context.WithCancel(context.Background()) - go func() { - exit := make(chan os.Signal) - signal.Notify(exit, os.Kill, os.Interrupt) - <-exit - cancel() - }() - for upd := range api.GetUpdates(ctx) { // Чтение из канала с обновлениями - log.Printf("Received: %#v", upd) - switch upd := upd.(type) { // Определение типа пришедшего обновления - case *tamtam.MessageCreatedUpdate: - // Создание клавиатуры - keyboard := api.Messages.NewKeyboardBuilder() - keyboard. - AddRow(). - AddGeolocation("Прислать геолокацию", true). - AddContact("Прислать контакт") - keyboard. - AddRow(). - AddLink("Библиотека", tamtam.POSITIVE, "https://github.com/neonxp/tamtam"). - AddCallback("Колбек 1", tamtam.NEGATIVE, "callback_1"). - AddCallback("Колбек 2", tamtam.NEGATIVE, "callback_2") - - // Отправка сообщения с клавиатурой - res, err := api.Messages.SendMessage(0, upd.Message.Sender.UserId, &tamtam.NewMessageBody{ - Text: fmt.Sprintf("Hello, %s! Your message: %s", upd.Message.Sender.Name, upd.Message.Body.Text), - Attachments: []interface{}{ - tamtam.NewInlineKeyboardAttachmentRequest(keyboard.Build()), - }, - }) - log.Printf("Answer: %#v %#v", res, err) - case *tamtam.MessageCallbackUpdate: - res, err := api.Messages.SendMessage(0, upd.Callback.User.UserId, &tamtam.NewMessageBody{ - Text: "Callback: " + upd.Callback.Payload, - }) - log.Printf("Answer: %#v %#v", res, err) - default: - log.Printf("Unknown type: %#v", upd) - } - } -} -``` +* [Пример с отправкой фото](https://github.com/neonxp/tamtam/blob/master/examples/example.go) +* [Пример с longpolling](https://github.com/neonxp/tamtam/blob/master/examples/example_longpolling.go) +* [Пример с webhook](https://github.com/neonxp/tamtam/blob/master/examples/example_webhook.go) ## Автор |