aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/example.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/examples/example.go b/examples/example.go
index 8effc67..b769e8a 100644
--- a/examples/example.go
+++ b/examples/example.go
@@ -5,6 +5,7 @@ import (
"fmt"
"log"
"os"
+ "os/signal"
"github.com/neonxp/tamtam"
)
@@ -14,8 +15,14 @@ func main() {
info, err := api.Bots.GetBot() // Простой метод
log.Printf("Get me: %#v %#v", info, err)
- go api.UpdatesLoop(context.Background()) // Запуск цикла получения обновлений
- for upd := range api.GetUpdates() { // Чтение из канала с обновлениями
+ 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: