diff options
author | Alexander Kiryukhin <a.kiryukhin@mail.ru> | 2019-08-09 02:02:05 +0300 |
---|---|---|
committer | Alexander Kiryukhin <a.kiryukhin@mail.ru> | 2019-08-09 02:02:05 +0300 |
commit | 94c96cef29cd83bc60b2eabb8bb89c9fd8c7059b (patch) | |
tree | 676b3e2b6ffb171e102931e5fac01f7a4621c20a /examples/example_2.go | |
parent | d13acd7da9bd1c08de33b91120a479df88d21db2 (diff) |
0.1.8 Release
Diffstat (limited to 'examples/example_2.go')
-rw-r--r-- | examples/example_2.go | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/examples/example_2.go b/examples/example_2.go deleted file mode 100644 index 74547fa..0000000 --- a/examples/example_2.go +++ /dev/null @@ -1,72 +0,0 @@ -// +build ignore - -/** - * Updates loop example - */ -package main - -import ( - "context" - "fmt" - "github.com/neonxp/tamtam" - "log" - "os" - "os/signal" -) - -func main() { - // Initialisation - api := tamtam.New(os.Getenv("TOKEN")) - - // Some methods demo: - info, err := api.GetMe() - log.Printf("Get me: %#v %#v", info, err) - chats, err := api.GetChats(0, 0) - log.Printf("Get chats: %#v %#v", chats, err) - chat, err := api.GetChat(chats.Chats[0].ChatId) - log.Printf("Get chat: %#v %#v", chat, err) - subs, _ := api.GetSubscriptions() - for _, s := range subs.Subscriptions { - _, _ = api.Unsubscribe(s.Url) - } - ch := make(chan interface{}, 1) // Channel with updates from TamTam - - ctx, cancel := context.WithCancel(context.Background()) - - go func() { - for { - select { - case upd := <-ch: - log.Printf("Received: %#v", upd) - switch upd := upd.(type) { - case tamtam.UpdateMessageCreated: - res, err := api.SendMessage(0, upd.Message.Sender.UserId, &tamtam.NewMessageBody{ - Text: fmt.Sprintf("Hello, %s! Your message: %s", upd.Message.Sender.Name, upd.Message.Body.Text), - }) - log.Printf("Answer: %#v %#v", res, err) - default: - log.Printf("Unknown type: %#v", upd) - } - case <-ctx.Done(): - return - } - - } - }() - - go func() { - exit := make(chan os.Signal) - signal.Notify(exit, os.Kill, os.Interrupt) - select { - case <-exit: - cancel() - case <-ctx.Done(): - return - } - }() - - if err := api.GetUpdatesLoop(ctx, ch); err != nil { - log.Fatalln(err) - } - -} |