emote command
This commit is contained in:
		
							parent
							
								
									1593736c70
								
							
						
					
					
						commit
						4aa208ee69
					
				
					 3 changed files with 43 additions and 3 deletions
				
			
		
							
								
								
									
										37
									
								
								commands/emote.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								commands/emote.go
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
package commands
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
 | 
			
		||||
	"github.com/Cynosphere/comcord/lib"
 | 
			
		||||
	"github.com/Cynosphere/comcord/state"
 | 
			
		||||
	"github.com/bwmarrin/discordgo"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func EmoteCommand(session *discordgo.Session) {
 | 
			
		||||
  channelId := state.GetCurrentChannel()
 | 
			
		||||
  if channelId == "" {
 | 
			
		||||
    fmt.Print("<not in a channel>\n\r")
 | 
			
		||||
    return
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  prompt := ":emote> "
 | 
			
		||||
  lib.MakePrompt(session, prompt, true, func(session *discordgo.Session, input string, interrupt bool) {
 | 
			
		||||
    if input == "" {
 | 
			
		||||
      if interrupt {
 | 
			
		||||
        fmt.Print("^C<no message sent>\n\r")
 | 
			
		||||
      } else {
 | 
			
		||||
        fmt.Print(prompt, "<no message sent>\n\r")
 | 
			
		||||
      }
 | 
			
		||||
    } else {
 | 
			
		||||
      fmt.Print(prompt, input, "\n\r")
 | 
			
		||||
      _, err := session.ChannelMessageSend(channelId, "*" + input + "*")
 | 
			
		||||
 | 
			
		||||
      if err != nil {
 | 
			
		||||
        fmt.Print("<failed to send message: ", err, ">\n\r")
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // TODO: update afk state
 | 
			
		||||
    }
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -26,6 +26,11 @@ func Setup() {
 | 
			
		|||
    Run: ClearCommand,
 | 
			
		||||
    Description: "clear",
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  commandMap["e"] = Command{
 | 
			
		||||
    Run: EmoteCommand,
 | 
			
		||||
    Description: "emote",
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GetCommand(key string) (Command, bool) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,8 +18,6 @@ func SendMode(session *discordgo.Session) {
 | 
			
		|||
    return
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  state.SetInPrompt(true)
 | 
			
		||||
 | 
			
		||||
  length := utf8.RuneCountInString(session.State.User.Username) + 2
 | 
			
		||||
  curLength := state.GetNameLength()
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue