master
1package main
2
3import (
4 "go.uber.org/zap"
5 "go.uber.org/zap/zapcore"
6 "os"
7 "os/signal"
8)
9
10var l *zap.SugaredLogger
11
12func init() {
13 conf := zap.NewDevelopmentConfig()
14 level := zap.NewAtomicLevel()
15 level.SetLevel(zapcore.InfoLevel)
16 conf.Level = level
17 conf.DisableStacktrace = true
18 logger, _ := conf.Build()
19 l = logger.Sugar()
20}
21
22func exitHandler() {
23 c := make(chan os.Signal, 1)
24 signal.Notify(c, os.Interrupt)
25 for _ = range c {
26 l.Warn("Caught SIGINT, Exiting")
27 return
28 }
29}
30
31func main() {
32
33 u, games := make(chan Update), make(chan Game)
34 g := GeneralsIO{
35 Updates: u,
36 Games: games,
37 }
38 ai := Bot{
39 UserID: "k_00004",
40 Username: "[Bot]k_0004",
41 Updates: u,
42 Games: games,
43 GeneralsIO: g,
44 }
45 ai.GeneralsIO.Connect()
46
47 err := ai.GeneralsIO.Emit("set_username", ai.UserID, ai.Username)
48 if err != nil {
49 l.Fatal(err)
50 }
51 err = ai.GeneralsIO.Emit("join_private", "test", ai.UserID)
52 if err != nil {
53 l.Fatal(err)
54 }
55 err = ai.GeneralsIO.Emit("set_force_start", "test", true)
56 if err != nil {
57 l.Fatal(err)
58 }
59 go ai.GeneralsIO.Ping(5)
60 go ai.GeneralsIO.RecievePackets() // Packets > Messages > Events
61 go ai.RecieveUpdates()
62 exitHandler()
63}