From 21c45435232de6dd3b315e83ef4fd83f3fcb535b Mon Sep 17 00:00:00 2001 From: VetheonGames Date: Sun, 11 Feb 2024 10:37:35 -0700 Subject: [PATCH] Finish up the foundational skeleton --- bin/runner.rb | 1 - lib/bot.rb | 27 +++++++++++++++++++++++++++ lib/database_manager.rb | 12 ++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/bin/runner.rb b/bin/runner.rb index cd46822..fd6ba09 100644 --- a/bin/runner.rb +++ b/bin/runner.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true -# bin/runner.rb require_relative '../lib/bot' # Load environment variables if using dotenv diff --git a/lib/bot.rb b/lib/bot.rb index e69de29..f877dcf 100644 --- a/lib/bot.rb +++ b/lib/bot.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +require 'discordrb' +require 'yaml' + +# Main bot class +class Bot + def initialize + @config = YAML.load_file(File.join(__dir__, '../config/discord_config.yml')) + @bot = Discordrb::Bot.new token: @config['token'] + end + + def run + setup_message_event + @bot.run + end + + private + + def setup_message_event + @bot.message do |event| + # Here we will process each message + puts "Received message: #{event.message.content}" + # Placeholder for message processing logic + end + end +end diff --git a/lib/database_manager.rb b/lib/database_manager.rb index e69de29..e33e8df 100644 --- a/lib/database_manager.rb +++ b/lib/database_manager.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +require 'sequel' + +DB = Sequel.sqlite(File.join(__dir__, '../db/diswarden.sqlite3')) + +# Schema definition +DB.create_table? :scanned_files do + primary_key :id + String :file_hash, unique: true, null: false + Boolean :is_safe, default: true +end