· 4 years ago · May 16, 2021, 03:38 PM
1func SynchronizeAccount(id string, apiKey string) (err error) {
2 println("start syncing")
3 results, err := db.Query("SELECT id FROM players WHERE api_key = ?", apiKey)
4 if err != nil {
5 log.Panicln("Unable to select 'id' from 'players'.", err)
6 return err
7 }
8 println("results selected")
9
10 if !results.Next() {
11 println("return err")
12 return err
13 }
14
15 println("results exists")
16
17 update, err := db.Query("UPDATE players SET discord_id = ? WHERE api_key = ?;", id, apiKey)
18 if err != nil {
19 log.Println("Unable to update table 'players' for " + id + ".", err)
20 return err
21 }
22
23 println("update successful")
24
25 defer update.Close()
26
27 return nil
28}
29
30func onMessageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
31 if m.Author.Bot {
32 return
33 }
34 println("not bot")
35
36 if m.ChannelID != os.Getenv("VERIFY_CHANNEL_ID") {
37 return
38 }
39
40 println("correct channel")
41
42 if len(m.Content) != 36 {
43 _, err := s.ChannelMessageSend(m.ChannelID, "Długość klucza jest nieprawidłowa.")
44 if err != nil {
45 log.Println("Unable to send message.", err)
46 return
47 }
48
49 return
50 }
51
52 println("correct length")
53
54 err := SynchronizeAccount(m.Author.ID, m.Content)
55 if err != nil {
56 _, err = s.ChannelMessageSend(m.ChannelID, "Coś poszło nie tak podczas weryfikacji klucza API.")
57 if err != nil {
58 log.Println("Unable to send message.", err)
59 return
60 }
61
62 println("return")
63 return
64 }
65
66 println("existing key")
67
68 _, err = s.ChannelMessageSend(m.ChannelID, "synchronized")
69 if err != nil {
70 log.Println("Unable to send message.", err)
71 return
72 }
73}