using MySqlConnector; namespace SupportChild.Database; public class Blacklist { public static bool IsBanned(ulong userID) { using MySqlConnection c = Connection.GetConnection(); c.Open(); using MySqlCommand selection = new MySqlCommand(@"SELECT * FROM blacklisted_users WHERE user_id=@user_id", c); selection.Parameters.AddWithValue("@user_id", userID); selection.Prepare(); MySqlDataReader results = selection.ExecuteReader(); // Check if user is blacklisted if (results.Read()) { results.Close(); return true; } results.Close(); return false; } public static bool Ban(ulong blacklistedID, ulong staffID) { try { using MySqlConnection c = Connection.GetConnection(); c.Open(); using MySqlCommand cmd = new MySqlCommand(@"INSERT INTO blacklisted_users (user_id,time,moderator_id) VALUES (@user_id, UTC_TIMESTAMP(), @moderator_id);", c); cmd.Parameters.AddWithValue("@user_id", blacklistedID); cmd.Parameters.AddWithValue("@moderator_id", staffID); cmd.Prepare(); return cmd.ExecuteNonQuery() > 0; } catch (MySqlException e) { Logger.Warn("Could not blacklist user in database.", e); return false; } } public static bool Unban(ulong blacklistedID) { try { using MySqlConnection c = Connection.GetConnection(); c.Open(); using MySqlCommand cmd = new MySqlCommand(@"DELETE FROM blacklisted_users WHERE user_id=@user_id", c); cmd.Parameters.AddWithValue("@user_id", blacklistedID); cmd.Prepare(); return cmd.ExecuteNonQuery() > 0; } catch (MySqlException e) { Logger.Warn("Could not unblacklist user in database.", e); return false; } } }