Features: Add Inches <-> Centimeters conversion commands.

master
Marc Egerton 2020-04-22 21:55:28 +01:00
parent 2e0b2f2011
commit 3cad3ec3b2
2 changed files with 78 additions and 0 deletions

View File

@ -122,6 +122,28 @@ func (f *Features) OnMessageCreate(s *discordgo.Session, m *discordgo.MessageCre
return
}
break
case cKey + "cmtoin":
err = f.handleCentimeterToInch(s, m)
if err != nil {
eMsg := f.CreateDefinedEmbed("Error (Meters to Feet)", err.Error(), "error")
_, err = s.ChannelMessageSendEmbed(m.ChannelID, eMsg)
if err != nil {
log.Fatal(err.Error())
}
return
}
break
case cKey + "intocm":
err = f.handleInchToCentimeter(s, m)
if err != nil {
eMsg := f.CreateDefinedEmbed("Error (Feet to Meters)", err.Error(), "error")
_, err = s.ChannelMessageSendEmbed(m.ChannelID, eMsg)
if err != nil {
log.Fatal(err.Error())
}
return
}
break
/* Moderation */
case cKey + "purge":
err = f.handlePurgeChannel(s, m)

View File

@ -105,6 +105,8 @@ func (f *Features) handleHelp(s *discordgo.Session, m *discordgo.MessageCreate)
desc += "`ftoc` - Convert Farenheit to Celsius\n"
desc += "`metofe` - Convert Meters to Feet\n"
desc += "`fetome` - Convert Feet to Meters\n"
desc += "`cmtoin` - Convert Centimeters to Inches\n"
desc += "`intocm` - Convert Inches to Centimeters\n"
if f.Auth.CheckAdminRole(m.Member) {
desc += "\n"
@ -271,3 +273,57 @@ func (f *Features) handleFeetToMeters(s *discordgo.Session, m *discordgo.Message
return nil
}
func (f *Features) handleCentimeterToInch(s *discordgo.Session, m *discordgo.MessageCreate) error {
inS := strings.Split(m.Content, " ")
if len(inS) < 2 {
return errors.New("You did not specify a distance")
}
in := inS[1]
inF, err := strconv.ParseFloat(in, 2)
if err != nil {
return errors.New("You did not specify a valid number")
}
inch := inF / 2.54
inchF := float64(inch)
msg := fmt.Sprintf("`%.1fcm` is `%.1fin`", inF, inchF)
e := f.CreateDefinedEmbed("Centimeter To Inch", msg, "")
_, err = s.ChannelMessageSendEmbed(m.ChannelID, e)
if err != nil {
return err
}
return nil
}
func (f *Features) handleInchToCentimeter(s *discordgo.Session, m *discordgo.MessageCreate) error {
inS := strings.Split(m.Content, " ")
if len(inS) < 2 {
return errors.New("You did not specify a distance")
}
in := inS[1]
inF, err := strconv.ParseFloat(in, 2)
if err != nil {
return errors.New("You did not specify a valid number")
}
cm := inF * 2.54
cmF := float64(cm)
msg := fmt.Sprintf("`%.1fin` is `%.1fcm`", inF, cmF)
e := f.CreateDefinedEmbed("Inch to Centimeter", msg, "")
_, err = s.ChannelMessageSendEmbed(m.ChannelID, e)
if err != nil {
return err
}
return nil
}