aboutsummaryrefslogtreecommitdiff
path: root/examples/example_2.go
diff options
context:
space:
mode:
authorAlexander Kiryukhin <a.kiryukhin@mail.ru>2019-08-09 02:02:05 +0300
committerAlexander Kiryukhin <a.kiryukhin@mail.ru>2019-08-09 02:02:05 +0300
commit94c96cef29cd83bc60b2eabb8bb89c9fd8c7059b (patch)
tree676b3e2b6ffb171e102931e5fac01f7a4621c20a /examples/example_2.go
parentd13acd7da9bd1c08de33b91120a479df88d21db2 (diff)
0.1.8 Release
Diffstat (limited to 'examples/example_2.go')
-rw-r--r--examples/example_2.go72
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)
- }
-
-}