63 lines
1.8 KiB
Go
63 lines
1.8 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
func addSticky(guildID string, channelID string, messageContent string, messageID string) {
|
|
_, err := db.Exec("INSERT INTO sticky (guild_id, channel_id, message_id, message_content) VALUES ($1, $2, $3, $4)", guildID, channelID, messageID, messageContent)
|
|
if err != nil {
|
|
logrus.Error(err)
|
|
}
|
|
|
|
}
|
|
|
|
func hasSticky(guildID string, channelID string) bool {
|
|
var exists bool
|
|
err := db.QueryRow("SELECT EXISTS (SELECT 1 FROM sticky WHERE guild_id = $1 AND channel_id = $2)", guildID, channelID).Scan(&exists)
|
|
if err != nil {
|
|
logrus.Error(err)
|
|
}
|
|
return exists
|
|
}
|
|
|
|
func getStickyMessageID(guildID string, channelID string) string {
|
|
var messageID string
|
|
exists := hasSticky(guildID, channelID)
|
|
if exists {
|
|
err := db.QueryRow("SELECT message_id FROM sticky WHERE guild_id = $1 AND channel_id = $2", guildID, channelID).Scan(&messageID)
|
|
if err != nil {
|
|
logrus.Error(err)
|
|
}
|
|
}
|
|
return messageID
|
|
}
|
|
func getStickyMessageContent(guildID string, channelID string) string {
|
|
var messageID string
|
|
exists := hasSticky(guildID, channelID)
|
|
if exists {
|
|
err := db.QueryRow("SELECT message_content FROM sticky WHERE guild_id = $1 AND channel_id = $2", guildID, channelID).Scan(&messageID)
|
|
if err != nil {
|
|
logrus.Error(err)
|
|
}
|
|
}
|
|
return messageID
|
|
}
|
|
|
|
func updateStickyMessageID(guildID string, channelID string, messageID string) {
|
|
exists := hasSticky(guildID, channelID)
|
|
if exists {
|
|
_, err := db.Exec("UPDATE sticky SET message_id = $1 WHERE guild_id = $2 AND channel_id = $3", messageID, guildID, channelID)
|
|
if err != nil {
|
|
logrus.Error(err)
|
|
}
|
|
}
|
|
}
|
|
|
|
func removeSticky(guildID string, channelID string) {
|
|
_, err := db.Exec("DELETE FROM sticky WHERE guild_id = $1 AND channel_id = $2", guildID, channelID)
|
|
if err != nil {
|
|
logrus.Error(err)
|
|
}
|
|
}
|