structure, state and connecting to discord
This commit is contained in:
		
							parent
							
								
									7152ea59fa
								
							
						
					
					
						commit
						c70359d412
					
				
					 7 changed files with 189 additions and 15 deletions
				
			
		
							
								
								
									
										9
									
								
								events/messageCreate.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								events/messageCreate.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					package events
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "github.com/bwmarrin/discordgo"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func MessageCreate(session *discordgo.Session, msg *discordgo.MessageCreate) {
 | 
				
			||||||
 | 
					  if (msg.Author.ID == session.State.User.ID) {
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										13
									
								
								events/ready.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								events/ready.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,13 @@
 | 
				
			||||||
 | 
					package events
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/bwmarrin/discordgo"
 | 
				
			||||||
 | 
					  "github.com/fatih/color"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func Ready(session *discordgo.Session, event *discordgo.Ready) {
 | 
				
			||||||
 | 
					  fmt.Print("Logged in as: ")
 | 
				
			||||||
 | 
					  color.Yellow("%s (%s)", session.State.User.Username, session.State.User.ID)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										5
									
								
								go.mod
									
										
									
									
									
								
							
							
						
						
									
										5
									
								
								go.mod
									
										
									
									
									
								
							| 
						 | 
					@ -4,7 +4,10 @@ go 1.20
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require (
 | 
					require (
 | 
				
			||||||
	github.com/bwmarrin/discordgo v0.27.1 // indirect
 | 
						github.com/bwmarrin/discordgo v0.27.1 // indirect
 | 
				
			||||||
 | 
						github.com/fatih/color v1.15.0 // indirect
 | 
				
			||||||
	github.com/gorilla/websocket v1.4.2 // indirect
 | 
						github.com/gorilla/websocket v1.4.2 // indirect
 | 
				
			||||||
 | 
						github.com/mattn/go-colorable v0.1.13 // indirect
 | 
				
			||||||
 | 
						github.com/mattn/go-isatty v0.0.17 // indirect
 | 
				
			||||||
	golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b // indirect
 | 
						golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b // indirect
 | 
				
			||||||
	golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 // indirect
 | 
						golang.org/x/sys v0.6.0 // indirect
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								go.sum
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								go.sum
									
										
									
									
									
								
							| 
						 | 
					@ -1,12 +1,22 @@
 | 
				
			||||||
github.com/bwmarrin/discordgo v0.27.1 h1:ib9AIc/dom1E/fSIulrBwnez0CToJE113ZGt4HoliGY=
 | 
					github.com/bwmarrin/discordgo v0.27.1 h1:ib9AIc/dom1E/fSIulrBwnez0CToJE113ZGt4HoliGY=
 | 
				
			||||||
github.com/bwmarrin/discordgo v0.27.1/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY=
 | 
					github.com/bwmarrin/discordgo v0.27.1/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY=
 | 
				
			||||||
 | 
					github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
 | 
				
			||||||
 | 
					github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
 | 
				
			||||||
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
 | 
					github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
 | 
				
			||||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 | 
					github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 | 
				
			||||||
 | 
					github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
 | 
				
			||||||
 | 
					github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
 | 
				
			||||||
 | 
					github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 | 
				
			||||||
 | 
					github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
 | 
				
			||||||
 | 
					github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 | 
				
			||||||
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b h1:7mWr3k41Qtv8XlltBkDkl8LoP3mpSgBW8BUoxtEdbXg=
 | 
					golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b h1:7mWr3k41Qtv8XlltBkDkl8LoP3mpSgBW8BUoxtEdbXg=
 | 
				
			||||||
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
 | 
					golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
 | 
				
			||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 | 
					golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 | 
				
			||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw=
 | 
					golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw=
 | 
				
			||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 | 
					golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 | 
					golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 | 
				
			||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 | 
					golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 | 
				
			||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 | 
					golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										45
									
								
								main.go
									
										
									
									
									
								
							
							
						
						
									
										45
									
								
								main.go
									
										
									
									
									
								
							| 
						 | 
					@ -3,8 +3,13 @@ package main
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"os"
 | 
						"os"
 | 
				
			||||||
 | 
						"os/signal"
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
						"syscall"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/Cynosphere/comcord/events"
 | 
				
			||||||
 | 
						"github.com/Cynosphere/comcord/rcfile"
 | 
				
			||||||
 | 
						"github.com/Cynosphere/comcord/state"
 | 
				
			||||||
	"github.com/bwmarrin/discordgo"
 | 
						"github.com/bwmarrin/discordgo"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,12 +21,12 @@ func main() {
 | 
				
			||||||
  if homeErr != nil {
 | 
					  if homeErr != nil {
 | 
				
			||||||
    panic(homeErr)
 | 
					    panic(homeErr)
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  RCPATH := GetRCPath()
 | 
					  RCPATH := rcfile.GetPath()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  _, rcErr := os.Stat(RCPATH)
 | 
					  _, rcErr := os.Stat(RCPATH)
 | 
				
			||||||
  if !os.IsNotExist(rcErr) {
 | 
					  if !os.IsNotExist(rcErr) {
 | 
				
			||||||
    fmt.Printf("%% Reading %s ...\n", strings.Replace(RCPATH, homeDir, "~", 1))
 | 
					    fmt.Printf("%% Reading %s ...\n", strings.Replace(RCPATH, homeDir, "~", 1))
 | 
				
			||||||
    config = LoadRCFile()
 | 
					    config = rcfile.Load()
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if len(os.Args) > 1 {
 | 
					  if len(os.Args) > 1 {
 | 
				
			||||||
| 
						 | 
					@ -29,7 +34,7 @@ func main() {
 | 
				
			||||||
    if os.IsNotExist(rcErr) {
 | 
					    if os.IsNotExist(rcErr) {
 | 
				
			||||||
      fmt.Println("% Writing token to ~/.comcordrc")
 | 
					      fmt.Println("% Writing token to ~/.comcordrc")
 | 
				
			||||||
      config["token"] = token
 | 
					      config["token"] = token
 | 
				
			||||||
      SaveRCFile(config)
 | 
					      rcfile.Save(config)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    configToken, tokenInConfig := config["token"]
 | 
					    configToken, tokenInConfig := config["token"]
 | 
				
			||||||
| 
						 | 
					@ -38,7 +43,39 @@ func main() {
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      fmt.Println("No token provided.")
 | 
					      fmt.Println("No token provided.")
 | 
				
			||||||
      os.Exit(1)
 | 
					      os.Exit(1)
 | 
				
			||||||
 | 
					      return
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  fmt.Println(token)
 | 
					
 | 
				
			||||||
 | 
					  state.Setup()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // TODO: user account support
 | 
				
			||||||
 | 
					  client, err := discordgo.New("Bot " + token)
 | 
				
			||||||
 | 
					  if err != nil {
 | 
				
			||||||
 | 
					    fmt.Println("% Failed to create client:", err)
 | 
				
			||||||
 | 
					    os.Exit(1)
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // TODO: dont set for user accounts(? never really tested if it matters)
 | 
				
			||||||
 | 
					  client.Identify.Intents = discordgo.IntentsAll
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  client.AddHandlerOnce(events.Ready)
 | 
				
			||||||
 | 
					  client.AddHandler(events.MessageCreate)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  err = client.Open()
 | 
				
			||||||
 | 
					  if err != nil {
 | 
				
			||||||
 | 
					    fmt.Println("% Failed to connect to Discord:", err)
 | 
				
			||||||
 | 
					    os.Exit(1)
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  fmt.Println("COMcord (c)left 2023")
 | 
				
			||||||
 | 
					  fmt.Println("Type 'h' for Commands")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  sc := make(chan os.Signal, 1)
 | 
				
			||||||
 | 
					  signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, os.Interrupt)
 | 
				
			||||||
 | 
					  <-sc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  client.Close()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
package main
 | 
					package rcfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
  "os"
 | 
					  "os"
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,7 @@ import (
 | 
				
			||||||
  "strings"
 | 
					  "strings"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func GetRCPath() string {
 | 
					func GetPath() string {
 | 
				
			||||||
  homeDir, err := os.UserHomeDir()
 | 
					  homeDir, err := os.UserHomeDir()
 | 
				
			||||||
  if err != nil {
 | 
					  if err != nil {
 | 
				
			||||||
    panic(err)
 | 
					    panic(err)
 | 
				
			||||||
| 
						 | 
					@ -15,9 +15,9 @@ func GetRCPath() string {
 | 
				
			||||||
  return filepath.Join(homeDir, ".comcordrc")
 | 
					  return filepath.Join(homeDir, ".comcordrc")
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func LoadRCFile() map[string]string {
 | 
					func Load() map[string]string {
 | 
				
			||||||
  config := make(map[string]string)
 | 
					  config := make(map[string]string)
 | 
				
			||||||
  file, err := os.ReadFile(GetRCPath())
 | 
					  file, err := os.ReadFile(GetPath())
 | 
				
			||||||
  if err != nil {
 | 
					  if err != nil {
 | 
				
			||||||
    panic(err)
 | 
					    panic(err)
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
| 
						 | 
					@ -33,14 +33,14 @@ func LoadRCFile() map[string]string {
 | 
				
			||||||
  return config
 | 
					  return config
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func SaveRCFile(config map[string]string) {
 | 
					func Save(config map[string]string) {
 | 
				
			||||||
  out := ""
 | 
					  out := ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for key, value := range config {
 | 
					  for key, value := range config {
 | 
				
			||||||
    out = out + key + "=" + value + "\n"
 | 
					    out = out + key + "=" + value + "\n"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  err := os.WriteFile(GetRCPath(), []byte(out), 0644)
 | 
					  err := os.WriteFile(GetPath(), []byte(out), 0644)
 | 
				
			||||||
  if err != nil {
 | 
					  if err != nil {
 | 
				
			||||||
    panic(err)
 | 
					    panic(err)
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
							
								
								
									
										102
									
								
								state/main.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								state/main.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,102 @@
 | 
				
			||||||
 | 
					package state
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
					  "time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  "github.com/bwmarrin/discordgo"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type ComcordState struct {
 | 
				
			||||||
 | 
					  Connected bool
 | 
				
			||||||
 | 
					  RPCConnected bool
 | 
				
			||||||
 | 
					  StartTime int64
 | 
				
			||||||
 | 
					  CurrentGuild string
 | 
				
			||||||
 | 
					  CurrentChannel string
 | 
				
			||||||
 | 
					  NameLength int32
 | 
				
			||||||
 | 
					  InPrompt bool
 | 
				
			||||||
 | 
					  AFK bool
 | 
				
			||||||
 | 
					  MessageQueue []discordgo.Message
 | 
				
			||||||
 | 
					  LastChannel map[string]string
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var state ComcordState
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func Setup() {
 | 
				
			||||||
 | 
					  state = ComcordState{}
 | 
				
			||||||
 | 
					  state.Connected = true
 | 
				
			||||||
 | 
					  state.RPCConnected = false
 | 
				
			||||||
 | 
					  state.StartTime = time.Now().Unix()
 | 
				
			||||||
 | 
					  state.NameLength = 2
 | 
				
			||||||
 | 
					  state.InPrompt = false
 | 
				
			||||||
 | 
					  state.AFK = false
 | 
				
			||||||
 | 
					  state.MessageQueue = make([]discordgo.Message, 0)
 | 
				
			||||||
 | 
					  state.LastChannel = make(map[string]string)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func IsConnected() bool {
 | 
				
			||||||
 | 
					  return state.Connected
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func SetConnected(value bool) {
 | 
				
			||||||
 | 
					  state.Connected = value
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func IsRPCConnected() bool {
 | 
				
			||||||
 | 
					  return state.RPCConnected
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func SetRPCConnected(value bool) {
 | 
				
			||||||
 | 
					  state.RPCConnected = value
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func GetStartTime() int64 {
 | 
				
			||||||
 | 
					  return state.StartTime
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func GetCurrentGuild() string {
 | 
				
			||||||
 | 
					  return state.CurrentGuild
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func SetCurrentGuild(value string) {
 | 
				
			||||||
 | 
					  state.CurrentGuild = value
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func GetCurrentChannel() string {
 | 
				
			||||||
 | 
					  return state.CurrentChannel
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func SetCurrentChannel(value string) {
 | 
				
			||||||
 | 
					  state.CurrentChannel = value
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func GetNameLength() int32 {
 | 
				
			||||||
 | 
					  return state.NameLength
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func SetNameLength(value int32) {
 | 
				
			||||||
 | 
					  state.NameLength = value
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func IsInPrompt() bool {
 | 
				
			||||||
 | 
					  return state.InPrompt
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func SetInPrompt(value bool) {
 | 
				
			||||||
 | 
					  state.InPrompt = value
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func IsAFK() bool {
 | 
				
			||||||
 | 
					  return state.AFK
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func SetAFK(value bool) {
 | 
				
			||||||
 | 
					  state.AFK = value
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func GetMessageQueue() []discordgo.Message {
 | 
				
			||||||
 | 
					  return state.MessageQueue
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func AddMessageToQueue(msg discordgo.Message) {
 | 
				
			||||||
 | 
					  state.MessageQueue = append(state.MessageQueue, msg)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue