2023-02-23 10:25:00 -05:00
|
|
|
# frozen_string_literal: true
|
2023-03-14 15:03:50 -04:00
|
|
|
|
|
|
|
module DiscourseAi
|
2023-02-23 10:25:00 -05:00
|
|
|
module Toxicity
|
|
|
|
class EntryPoint
|
2023-02-23 13:50:10 -05:00
|
|
|
def load_files
|
2023-02-24 05:53:43 -05:00
|
|
|
require_relative "scan_queue"
|
2023-02-24 11:25:02 -05:00
|
|
|
require_relative "toxicity_classification"
|
2023-02-23 10:25:00 -05:00
|
|
|
|
2023-02-24 05:53:43 -05:00
|
|
|
require_relative "jobs/regular/toxicity_classify_post"
|
|
|
|
require_relative "jobs/regular/toxicity_classify_chat_message"
|
2023-02-23 13:50:10 -05:00
|
|
|
end
|
2023-02-23 10:25:00 -05:00
|
|
|
|
2023-02-23 13:50:10 -05:00
|
|
|
def inject_into(plugin)
|
2023-03-14 15:03:50 -04:00
|
|
|
post_analysis_cb = Proc.new { |post| DiscourseAi::Toxicity::ScanQueue.enqueue_post(post) }
|
2023-02-23 10:25:00 -05:00
|
|
|
|
2023-02-24 05:53:43 -05:00
|
|
|
plugin.on(:post_created, &post_analysis_cb)
|
|
|
|
plugin.on(:post_edited, &post_analysis_cb)
|
2023-02-23 10:25:00 -05:00
|
|
|
|
2023-02-24 05:53:43 -05:00
|
|
|
chat_message_analysis_cb =
|
2023-03-14 15:03:50 -04:00
|
|
|
Proc.new { |message| DiscourseAi::Toxicity::ScanQueue.enqueue_chat_message(message) }
|
2023-02-23 10:25:00 -05:00
|
|
|
|
2023-02-24 05:53:43 -05:00
|
|
|
plugin.on(:chat_message_created, &chat_message_analysis_cb)
|
|
|
|
plugin.on(:chat_message_edited, &chat_message_analysis_cb)
|
2023-02-23 10:25:00 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|