added addemoji
This commit is contained in:
@@ -12,7 +12,7 @@ import (
|
|||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
||||||
var cmd_getemoji Command = Command{
|
var cmd_addemoji Command = Command{
|
||||||
Definition: discord.SlashCommandCreate{
|
Definition: discord.SlashCommandCreate{
|
||||||
Name: "add-emoji",
|
Name: "add-emoji",
|
||||||
Description: "Add an external emoji directly to the server.",
|
Description: "Add an external emoji directly to the server.",
|
||||||
@@ -27,9 +27,7 @@ var cmd_getemoji Command = Command{
|
|||||||
Interact: func(e *events.ApplicationCommandInteractionCreate) {
|
Interact: func(e *events.ApplicationCommandInteractionCreate) {
|
||||||
emojiRegex := regexp.MustCompile(`<(.+):(\d+)>`)
|
emojiRegex := regexp.MustCompile(`<(.+):(\d+)>`)
|
||||||
emojistring := emojiRegex.FindString(e.SlashCommandInteractionData().String("emoji"))
|
emojistring := emojiRegex.FindString(e.SlashCommandInteractionData().String("emoji"))
|
||||||
logrus.Debug(emojistring)
|
|
||||||
emojiArray := strings.Split(emojistring, ":")
|
emojiArray := strings.Split(emojistring, ":")
|
||||||
logrus.Debug(emojiArray)
|
|
||||||
var emojiName string
|
var emojiName string
|
||||||
var emojiID string
|
var emojiID string
|
||||||
var emojiFileName string
|
var emojiFileName string
|
||||||
@@ -37,28 +35,35 @@ var cmd_getemoji Command = Command{
|
|||||||
emojiName = strings.TrimSuffix(emojiArray[1], ">")
|
emojiName = strings.TrimSuffix(emojiArray[1], ">")
|
||||||
emojiID = strings.TrimSuffix(emojiArray[2], ">")
|
emojiID = strings.TrimSuffix(emojiArray[2], ">")
|
||||||
}
|
}
|
||||||
imageType, emojiRead := getEmoji(emojiID)
|
imageType, emojiReadBit64 := getEmoji(emojiID)
|
||||||
emojiData, err := io.ReadAll(emojiRead)
|
emojiData, err := discord.NewIcon(imageType, emojiReadBit64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Error(err)
|
logrus.Error(err)
|
||||||
}
|
}
|
||||||
_, err = e.Client().Rest().CreateEmoji(*e.GuildID(), discord.EmojiCreate{
|
_, err = e.Client().Rest().CreateEmoji(*e.GuildID(), discord.EmojiCreate{
|
||||||
Name: emojiName,
|
Name: emojiName,
|
||||||
Image: discord.Icon{
|
Image: *emojiData,
|
||||||
Type: imageType,
|
|
||||||
Data: emojiData,
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if strings.HasPrefix(err.Error(), "50035") {
|
||||||
|
e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("Failed adding emoji. Did you provide a correct one?").SetEphemeral(true).Build())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if strings.HasPrefix(err.Error(), "50138") {
|
||||||
|
e.CreateMessage(discord.NewMessageCreateBuilder().SetContent("Failed adding emoji. Unable to resize the emoji image.").SetEphemeral(true).Build())
|
||||||
|
return
|
||||||
|
}
|
||||||
logrus.Error(err)
|
logrus.Error(err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
if imageType == discord.IconTypeGIF {
|
if imageType == discord.IconTypeGIF {
|
||||||
emojiFileName = emojiName + ".gif"
|
emojiFileName = emojiName + ".gif"
|
||||||
} else {
|
} else {
|
||||||
emojiFileName = emojiName + ".png"
|
emojiFileName = emojiName + ".png"
|
||||||
}
|
}
|
||||||
|
_, emojiRead := getEmoji(emojiID) // for some reason any []bit variable thats used with NewIcon gets corrupted even when its redeclared in a new variable
|
||||||
err = e.CreateMessage(discord.NewMessageCreateBuilder().
|
err = e.CreateMessage(discord.NewMessageCreateBuilder().
|
||||||
SetContentf("Emoji %s sucessfully added to this server!", emojiName).SetFiles(discord.NewFile(emojiFileName, "The emoji that was picked", emojiRead)).SetEphemeral(true).
|
SetContentf("Emoji %s sucessfully added to this server!", emojiName).SetFiles(discord.NewFile(emojiFileName, "", emojiRead)).SetEphemeral(true).
|
||||||
Build())
|
Build())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Error(err)
|
logrus.Error(err)
|
||||||
@@ -80,10 +85,8 @@ func getEmoji(emojiID string) (discord.IconType, io.Reader) {
|
|||||||
}
|
}
|
||||||
isAnimated := isGIFImage(imageData)
|
isAnimated := isGIFImage(imageData)
|
||||||
if isAnimated {
|
if isAnimated {
|
||||||
logrus.Debug("GIF")
|
|
||||||
return discord.IconTypeGIF, bytes.NewReader(imageData)
|
return discord.IconTypeGIF, bytes.NewReader(imageData)
|
||||||
} else {
|
} else {
|
||||||
logrus.Debug("PNG")
|
|
||||||
return discord.IconTypePNG, bytes.NewReader(imageData)
|
return discord.IconTypePNG, bytes.NewReader(imageData)
|
||||||
}
|
}
|
||||||
}
|
}
|
2
go.mod
2
go.mod
@@ -3,7 +3,7 @@ module github.com/vaporvee/acecore
|
|||||||
go 1.21.6
|
go 1.21.6
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/disgoorg/disgo v0.18.1
|
github.com/disgoorg/disgo v0.18.2
|
||||||
github.com/disgoorg/json v1.1.0
|
github.com/disgoorg/json v1.1.0
|
||||||
github.com/disgoorg/snowflake/v2 v2.0.1
|
github.com/disgoorg/snowflake/v2 v2.0.1
|
||||||
github.com/google/uuid v1.6.0
|
github.com/google/uuid v1.6.0
|
||||||
|
4
go.sum
4
go.sum
@@ -5,6 +5,10 @@ github.com/disgoorg/disgo v0.18.1-0.20240408224120-2676e29d6e86 h1:hSRIjnKWL07TY
|
|||||||
github.com/disgoorg/disgo v0.18.1-0.20240408224120-2676e29d6e86/go.mod h1:gkl6DBdbKUvmOOJayWPSvS52KPN/8uJGJ2f13gCEB1o=
|
github.com/disgoorg/disgo v0.18.1-0.20240408224120-2676e29d6e86/go.mod h1:gkl6DBdbKUvmOOJayWPSvS52KPN/8uJGJ2f13gCEB1o=
|
||||||
github.com/disgoorg/disgo v0.18.1 h1:8g3ifRVlbdZ28bX2BAVkb04dvQnnRMwN89KUkclaniw=
|
github.com/disgoorg/disgo v0.18.1 h1:8g3ifRVlbdZ28bX2BAVkb04dvQnnRMwN89KUkclaniw=
|
||||||
github.com/disgoorg/disgo v0.18.1/go.mod h1:gkl6DBdbKUvmOOJayWPSvS52KPN/8uJGJ2f13gCEB1o=
|
github.com/disgoorg/disgo v0.18.1/go.mod h1:gkl6DBdbKUvmOOJayWPSvS52KPN/8uJGJ2f13gCEB1o=
|
||||||
|
github.com/disgoorg/disgo v0.18.2-0.20240412120702-1c2e34f76c43 h1:ADoIkRUNXQPAuafuA3SZZvxPxWUK5rXSgNTmODXXgoI=
|
||||||
|
github.com/disgoorg/disgo v0.18.2-0.20240412120702-1c2e34f76c43/go.mod h1:gkl6DBdbKUvmOOJayWPSvS52KPN/8uJGJ2f13gCEB1o=
|
||||||
|
github.com/disgoorg/disgo v0.18.2 h1:pZCvaFamfHcnXrj0XA73qtVofP0R8dYEyQfPNgv8dLE=
|
||||||
|
github.com/disgoorg/disgo v0.18.2/go.mod h1:gkl6DBdbKUvmOOJayWPSvS52KPN/8uJGJ2f13gCEB1o=
|
||||||
github.com/disgoorg/json v1.1.0 h1:7xigHvomlVA9PQw9bMGO02PHGJJPqvX5AnwlYg/Tnys=
|
github.com/disgoorg/json v1.1.0 h1:7xigHvomlVA9PQw9bMGO02PHGJJPqvX5AnwlYg/Tnys=
|
||||||
github.com/disgoorg/json v1.1.0/go.mod h1:BHDwdde0rpQFDVsRLKhma6Y7fTbQKub/zdGO5O9NqqA=
|
github.com/disgoorg/json v1.1.0/go.mod h1:BHDwdde0rpQFDVsRLKhma6Y7fTbQKub/zdGO5O9NqqA=
|
||||||
github.com/disgoorg/snowflake/v2 v2.0.1 h1:CuUxGLwggUxEswZOmZ+mZ5i0xSumQdXW9tXW7uGqe+0=
|
github.com/disgoorg/snowflake/v2 v2.0.1 h1:CuUxGLwggUxEswZOmZ+mZ5i0xSumQdXW9tXW7uGqe+0=
|
||||||
|
@@ -25,7 +25,7 @@ type Command struct {
|
|||||||
DynamicComponentIDs func() []string
|
DynamicComponentIDs func() []string
|
||||||
}
|
}
|
||||||
|
|
||||||
var commands []Command = []Command{cmd_tag, cmd_tag_short, context_tag, cmd_sticky, context_sticky, cmd_ping, cmd_userinfo, cmd_getemoji, cmd_form, cmd_ask, cmd_cat, cmd_dadjoke, cmd_ticket_form, cmd_autopublish, cmd_autojoinroles}
|
var commands []Command = []Command{cmd_tag, cmd_tag_short, context_tag, cmd_sticky, context_sticky, cmd_ping, cmd_userinfo, cmd_addemoji, cmd_form, cmd_ask, cmd_cat, cmd_dadjoke, cmd_ticket_form, cmd_autopublish, cmd_autojoinroles}
|
||||||
|
|
||||||
func ready(e *events.Ready) {
|
func ready(e *events.Ready) {
|
||||||
logrus.Info("Starting up...")
|
logrus.Info("Starting up...")
|
||||||
|
Reference in New Issue
Block a user