From 18b20b484f73a0f09360f9be1d9eef3c8800d366 Mon Sep 17 00:00:00 2001 From: Bruce Marriner Date: Mon, 16 Nov 2015 15:48:30 -0600 Subject: [PATCH] Example Bot shouldn't be part of main package. --- bot/admin.go | 92 ------------------------------------- bot/dgbot.go | 61 ------------------------- bot/events.go | 122 -------------------------------------------------- 3 files changed, 275 deletions(-) delete mode 100644 bot/admin.go delete mode 100644 bot/dgbot.go delete mode 100644 bot/events.go diff --git a/bot/admin.go b/bot/admin.go deleted file mode 100644 index afe7a01..0000000 --- a/bot/admin.go +++ /dev/null @@ -1,92 +0,0 @@ -package main - -import ( - "fmt" - "strings" -) - -// -func admin(line string) (response string) { - - var err error - - // trim any leading or trailing space off the whole line - line = strings.TrimSpace(line) - - // split the command from the rest - split := strings.SplitN(line, " ", 2) - - // store the command and payload seperately - command := strings.ToLower(split[0]) - command = strings.TrimPrefix(command, "~") - - var payload string = "" - if len(split) > 1 { - payload = split[1] - } - - if command == "help" { - response += fmt.Sprintln("`~help ...............` Display this help text") - response += fmt.Sprintln("`~username [string]...` Set login username to [string]") - response += fmt.Sprintln("`~password [string]...` Set login password to [string]") - response += fmt.Sprintln("`~login ..............` Login to Discord") - response += fmt.Sprintln("`~listen .............` Start websocket listener") - response += fmt.Sprintln("`~logout .............` Logout from Discord") - return - } - - if command == "username" { - Username = payload - response += "Done." - return - } - - if command == "password" { - Password = payload - response += "Done." - return - } - - if command == "login" { - Session.Token, err = Session.Login(Username, Password) - if err != nil { - fmt.Println("Unable to login to Discord.") - fmt.Println(err) - } - response += "Done." - return - } - - if command == "listen" { - - // open connection - err = Session.Open() - if err != nil { - fmt.Println(err) - } - - // Do Handshake? (dumb name) - err = Session.Handshake() - if err != nil { - fmt.Println(err) - } - - // Now listen for events / messages - go Session.Listen() - response += "Done." - return - } - - if command == "logout" { - err = Session.Logout() - if err != nil { - fmt.Println("Unable to logout from Discord.") - fmt.Println(err) - } - response += "Done." - return - } - - response += "I'm sorry I don't understand that command. Try ~help" - return -} diff --git a/bot/dgbot.go b/bot/dgbot.go deleted file mode 100644 index 1e422cb..0000000 --- a/bot/dgbot.go +++ /dev/null @@ -1,61 +0,0 @@ -package main - -import ( - "bufio" - "fmt" - "log" - "math/rand" - "os" - "time" - - Discord "github.com/bwmarrin/discordgo" -) - -// Global Variables -var ( - Session Discord.Session - Username string - Password string -) - -func main() { - fmt.Printf("\nDiscordgo Bot Starting.\n\n") - - // Register all the Event Handlers - RegisterHandlers() - - // read in the config file. - ParseFile() - - // seed the random number generator - rand.Seed(time.Now().UTC().UnixNano()) - - // main program loop to keep dgbot running - // will add stuff here to track goroutines - // and monitor for CTRL-C or other things. - for { - time.Sleep(1000 * time.Millisecond) - } - - fmt.Println("\nDiscordgo Bot shutting down.\n") -} - -// ParseFile will read a file .dgbotrc and run all included -// commands -func ParseFile() { - file, err := os.Open(".dgbotrc") - if err != nil { - return - } - defer file.Close() - - scanner := bufio.NewScanner(file) - for scanner.Scan() { - fmt.Println(scanner.Text()) - fmt.Println(admin(scanner.Text())) - } - - if err := scanner.Err(); err != nil { - log.Fatal(err) - } -} diff --git a/bot/events.go b/bot/events.go deleted file mode 100644 index 51e4140..0000000 --- a/bot/events.go +++ /dev/null @@ -1,122 +0,0 @@ -package main - -import ( - Discord "github.com/bwmarrin/discordgo" -) - -// Registers all event handlers -func RegisterHandlers() { - - Session = Discord.Session{ - OnEvent: OnEvent, - OnReady: OnReady, - OnTypingStart: OnTypingStart, - OnMessageCreate: OnMessageCreate, - OnMessageUpdate: OnMessageUpdate, - OnMessageDelete: OnMessageDelete, - OnMessageAck: OnMessageAck, - OnVoiceStateUpdate: OnVoiceStateUpdate, - OnPresenceUpdate: OnPresenceUpdate, - OnChannelCreate: OnChannelCreate, - OnChannelUpdate: OnChannelUpdate, - OnGuildCreate: OnGuildCreate, - OnGuildUpdate: OnGuildUpdate, - OnGuildDelete: OnGuildDelete, - OnGuildRoleCreate: OnGuildRoleCreate, - OnGuildRoleUpdate: OnGuildRoleUpdate, - OnGuildRoleDelete: OnGuildRoleDelete, - OnGuildMemberAdd: OnGuildMemberAdd, - OnGuildMemberUpdate: OnGuildMemberUpdate, - OnGuildMemberRemove: OnGuildMemberRemove, - OnGuildIntegrationsUpdate: OnGuildIntegrationsUpdate, - } - -} - -// OnEvent is called for unknown events or unhandled events. It provides -// a generic interface to handle them. -func OnEvent(s *Discord.Session, e Discord.Event) { - // Add code here to handle this event. -} - -// OnReady is called when Discordgo receives a READY event -// This event must be handled and must contain the Heartbeat call. -func OnReady(s *Discord.Session, st Discord.Ready) { - - // start the Heartbeat - go s.Heartbeat(st.HeartbeatInterval) - - // Add code here to handle this event. -} - -func OnTypingStart(s *Discord.Session, st Discord.TypingStart) { - // Add code here to handle this event. -} - -func OnPresenceUpdate(s *Discord.Session, st Discord.PresenceUpdate) { - // Add code here to handle this event. -} - -func OnMessageCreate(s *Discord.Session, m Discord.Message) { - // Add code here to handle this event. -} - -func OnMessageUpdate(s *Discord.Session, m Discord.Message) { - // Add code here to handle this event. -} - -func OnMessageAck(s *Discord.Session, st Discord.MessageAck) { - // Add code here to handle this event. -} - -func OnMessageDelete(s *Discord.Session, st Discord.MessageDelete) { - // Add code here to handle this event. -} - -func OnVoiceStateUpdate(s *Discord.Session, st Discord.VoiceState) { - // Add code here to handle this event. -} - -func OnChannelCreate(s *Discord.Session, st Discord.Channel) { - // Add code here to handle this event. -} - -func OnChannelUpdate(s *Discord.Session, st Discord.Channel) { - // Add code here to handle this event. -} - -func OnGuildCreate(s *Discord.Session, st Discord.Guild) { - // Add code here to handle this event. -} - -func OnGuildUpdate(s *Discord.Session, st Discord.Guild) { - // Add code here to handle this event. -} -func OnGuildDelete(s *Discord.Session, st Discord.Guild) { - // Add code here to handle this event. -} - -func OnGuildRoleCreate(s *Discord.Session, st Discord.GuildRole) { - // Add code here to handle this event. -} -func OnGuildRoleUpdate(s *Discord.Session, st Discord.GuildRole) { - // Add code here to handle this event. -} -func OnGuildRoleDelete(s *Discord.Session, st Discord.GuildRoleDelete) { - // Add code here to handle this event. -} -func OnGuildMemberAdd(s *Discord.Session, st Discord.Member) { - // Add code here to handle this event. -} - -func OnGuildMemberUpdate(s *Discord.Session, st Discord.Member) { - // Add code here to handle this event. -} - -func OnGuildMemberRemove(s *Discord.Session, st Discord.Member) { - // Add code here to handle this event. -} - -func OnGuildIntegrationsUpdate(s *Discord.Session, st Discord.GuildIntegrationsUpdate) { - // Add code here to handle this event. -}