added command for blocking polls

This commit is contained in:
2024-04-13 23:03:02 +02:00
parent e6da5dedd6
commit a1fd95cefe
4 changed files with 124 additions and 26 deletions

View File

@@ -50,11 +50,17 @@ func initTables() {
user_role TEXT,
PRIMARY KEY (guild_id)
);
CREATE TABLE IF NOT EXISTS autopublish (
CREATE TABLE IF NOT EXISTS autopublish (
guild_id TEXT NOT NULL,
news_channel_id TEXT NOT NULL,
PRIMARY KEY (guild_id, news_channel_id)
);
CREATE TABLE IF NOT EXISTS blockpolls (
guild_id TEXT NOT NULL,
news_channel_id TEXT NOT NULL,
PRIMARY KEY (guild_id, news_channel_id)
)`
channel_id TEXT NOT NULL,
PRIMARY KEY (guild_id, channel_id)
)
`
_, err := db.Exec(createTableQuery)
if err != nil {
log.Fatal(err)
@@ -394,6 +400,35 @@ func isAutopublishEnabled(guildID string, newsChannelID string) bool {
return enabled
}
func toggleBlockPolls(guildID string, channelID string) bool {
var exists bool
err := db.QueryRow("SELECT EXISTS (SELECT 1 FROM blockpolls WHERE guild_id = $1 AND channel_id = $2)", guildID, channelID).Scan(&exists)
if err != nil {
logrus.Error(err)
}
if exists {
_, err := db.Exec("DELETE FROM blockpolls WHERE guild_id = $1 AND channel_id = $2", guildID, channelID)
if err != nil {
logrus.Error(err)
}
} else {
_, err := db.Exec("INSERT INTO blockpolls (guild_id, channel_id) VALUES ($1, $2)", guildID, channelID)
if err != nil {
logrus.Error(err)
}
}
return exists
}
func isBlockPollsEnabled(guildID string, channelID string) bool {
var enabled bool
err := db.QueryRow("SELECT EXISTS (SELECT 1 FROM blockpolls WHERE guild_id = $1 AND channel_id = $2)", guildID, channelID).Scan(&enabled)
if err != nil {
logrus.Error(err)
}
return enabled
}
func tryDeleteUnusedMessage(messageID string) {
_, err := db.Exec("DELETE FROM form_manage WHERE message_id = $1", messageID)
if err != nil {