forked from csxkdv/cheeseBot-rewrite
Finished writing the main function. Detects cheese keywords in messages and added user/server blacklist/whitelist.
This commit is contained in:
60
src/commands/not_cheese_related/blacklist.rb
Normal file
60
src/commands/not_cheese_related/blacklist.rb
Normal file
@@ -0,0 +1,60 @@
|
||||
# cheeseBot
|
||||
# Copyright (C) 2026 Eri (csxkdv/nxkdv) nxkdv@thenight.club
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
require_relative '../../modules/database'
|
||||
|
||||
module Commands
|
||||
module Blacklist
|
||||
extend self
|
||||
|
||||
def register(bot)
|
||||
cmd_key = :blacklist
|
||||
cmd_desc = "Blacklist yourself from the trigger DMs (using the command again will whitelist you.)"
|
||||
|
||||
bot.register_application_command(cmd_key, cmd_desc, server_id: ENV['SERVER_ID'])
|
||||
|
||||
bot.application_command(cmd_key) do |event|
|
||||
added = Database.toggle_user_blacklist(event.user.id)
|
||||
|
||||
if added
|
||||
event.respond(content: "You have been added to the blacklist. You will no longer receive DMs.")
|
||||
else
|
||||
event.respond(content: "You have been removed from the blacklist. You will now receive DMs.")
|
||||
end
|
||||
end
|
||||
|
||||
cmd_key_server = :server_blacklist
|
||||
cmd_desc_server = "Blacklist the server from the trigger DMs (using the command again will whitelist the server.)"
|
||||
|
||||
bot.register_application_command(cmd_key_server, cmd_desc_server, server_id: ENV['SERVER_ID'])
|
||||
|
||||
bot.application_command(cmd_key_server) do |event|
|
||||
unless event.user.permission?(:administrator)
|
||||
event.respond(content: "You're not an admin. You can't use this command.", ephemeral: true)
|
||||
next
|
||||
end
|
||||
|
||||
added = Database.toggle_server_blacklist(event.server.id)
|
||||
|
||||
if added
|
||||
event.respond(content: "Server has been added to the blacklist. This server will no longer receive DMs.")
|
||||
else
|
||||
event.respond(content: "Server has been removed from the blacklist. This server will now receive DMs.")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user