reuse existing token, JP string & command description

This commit is contained in:
wish
2024-01-01 02:10:27 +11:00
parent b3a265e218
commit a602bda47b
3 changed files with 11 additions and 16 deletions

View File

@@ -133,6 +133,7 @@
}, {
"Name": "Discord",
"Enabled": true,
"Description": "Generate a token to link your Discord account",
"Prefix": "discord"
}
],

View File

@@ -325,23 +325,15 @@ func parseChatCommand(s *Session, command string) {
}
case commands["Discord"].Prefix:
if commands["Discord"].Enabled {
var _token string
err := s.server.db.QueryRow(`SELECT discord_token FROM users u WHERE u.id=(SELECT c.user_id FROM characters c WHERE c.id=$1)`, s.charID).Scan(&_token)
if err != nil {
randToken := make([]byte, 4)
_, err := rand.Read(randToken)
if err != nil {
sendServerChatMessage(s, fmt.Sprint("An error occurred while processing this command"))
s.logger.Error(fmt.Sprint(err))
return
rand.Read(randToken)
_token = fmt.Sprintf("%x-%x", randToken[:2], randToken[2:])
s.server.db.Exec(`UPDATE users u SET discord_token = $1 WHERE u.id=(SELECT c.user_id FROM characters c WHERE c.id=$2)`, _token, s.charID)
}
discordToken := fmt.Sprintf("%x-%x", randToken[:2], randToken[2:])
_, err = s.server.db.Exec("UPDATE users u SET discord_token = $1 WHERE u.id=(SELECT c.user_id FROM characters c WHERE c.id=$2)", fmt.Sprint(discordToken), s.charID)
if err != nil {
sendServerChatMessage(s, fmt.Sprint("An error occurred while processing this command"))
s.logger.Error(fmt.Sprint(err))
return
}
sendServerChatMessage(s, fmt.Sprintf(s.server.dict["commandDiscordSuccess"], discordToken))
sendServerChatMessage(s, fmt.Sprintf(s.server.dict["commandDiscordSuccess"], _token))
} else {
sendDisabledCommandMessage(s, commands["Discord"])
}

View File

@@ -25,6 +25,8 @@ func getLangStrings(s *Server) map[string]string {
strings["commandPSNSuccess"] = "PSN「%s」が連携されています"
strings["commandPSNExists"] = "PSNは既存のユーザに接続されています"
strings["commandDiscordSuccess"] = "あなたのDiscordトークン%s"
strings["commandRaviNoCommand"] = "ラヴィコマンドが指定されていません"
strings["commandRaviStartSuccess"] = "大討伐を開始します"
strings["commandRaviStartError"] = "大討伐は既に開催されています"
@@ -78,7 +80,7 @@ func getLangStrings(s *Server) map[string]string {
strings["commandPSNSuccess"] = "Connected PSN ID: %s"
strings["commandPSNExists"] = "PSN ID is connected to another account!"
strings["commandDiscordSuccess"] = "Discord token has been generated: %s"
strings["commandDiscordSuccess"] = "Your Discord token: %s"
strings["commandRaviNoCommand"] = "No Raviente command specified!"
strings["commandRaviStartSuccess"] = "The Great Slaying will begin in a moment"