master
Raw Download raw file
 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}