diff --git a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/actions.rb b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/actions.rb index 631ba918e7e..6315bb9c90c 100644 --- a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/actions.rb +++ b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/actions.rb @@ -1,11 +1,7 @@ module DiscourseNarrativeBot module Actions - extend ActiveSupport::Concern - - included do - def self.discobot_user - @discobot ||= User.find(-2) - end + def discobot_user + @discobot ||= User.find(-2) end private @@ -18,11 +14,11 @@ module DiscourseNarrativeBot reply_to_post_number: post.post_number } - new_post = PostCreator.create!(self.class.discobot_user, default_opts.merge(opts)) + new_post = PostCreator.create!(self.discobot_user, default_opts.merge(opts)) reset_rate_limits(post) if new_post new_post else - PostCreator.create!(self.class.discobot_user, { raw: raw }.merge(opts)) + PostCreator.create!(self.discobot_user, { raw: raw }.merge(opts)) end end @@ -64,7 +60,7 @@ module DiscourseNarrativeBot valid = false doc.css(".mention").each do |mention| - valid = true if mention.text == "@#{self.class.discobot_user.username}" + valid = true if mention.text == "@#{self.discobot_user.username}" end valid diff --git a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/advanced_user_narrative.rb b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/advanced_user_narrative.rb index 35f83fc67d9..c9030d762d6 100644 --- a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/advanced_user_narrative.rb +++ b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/advanced_user_narrative.rb @@ -124,7 +124,7 @@ module DiscourseNarrativeBot post = PostCreator.create!(@user, { raw: I18n.t( "#{I18N_KEY}.edit.bot_created_post_raw", - discobot_username: self.class.discobot_user.username + discobot_username: self.discobot_user.username ), topic_id: data[:topic_id], skip_bot: true @@ -140,7 +140,7 @@ module DiscourseNarrativeBot post = PostCreator.create!(@user, { raw: I18n.t( "#{I18N_KEY}.recover.deleted_post_raw", - discobot_username: self.class.discobot_user.username + discobot_username: self.discobot_user.username ), topic_id: data[:topic_id], skip_bot: true @@ -223,7 +223,7 @@ module DiscourseNarrativeBot #{instance_eval(&@next_instructions)} RAW - PostCreator.create!(self.class.discobot_user, + PostCreator.create!(self.discobot_user, raw: raw, topic_id: @topic_id ) @@ -248,7 +248,7 @@ module DiscourseNarrativeBot #{instance_eval(&@next_instructions)} RAW - PostCreator.create!(self.class.discobot_user, + PostCreator.create!(self.discobot_user, raw: raw, topic_id: @post.topic_id ) @@ -306,7 +306,7 @@ module DiscourseNarrativeBot fake_delay - post = PostCreator.create!(self.class.discobot_user, + post = PostCreator.create!(self.discobot_user, raw: raw, topic_id: @topic_id ) diff --git a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb index 1d1c451fd64..202f0c50586 100644 --- a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb +++ b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/new_user_narrative.rb @@ -40,7 +40,7 @@ module DiscourseNarrativeBot tutorial_emoji: { next_state: :tutorial_mention, next_instructions: Proc.new { - I18n.t("#{I18N_KEY}.mention.instructions", discobot_username: self.class.discobot_user.username) + I18n.t("#{I18N_KEY}.mention.instructions", discobot_username: self.discobot_user.username) }, reply: { action: :reply_to_emoji @@ -148,7 +148,7 @@ module DiscourseNarrativeBot RAW PostRevisor.new(post, topic).revise!( - self.class.discobot_user, + self.discobot_user, { raw: raw }, { skip_validations: true, force_new_version: true } ) @@ -201,7 +201,7 @@ module DiscourseNarrativeBot def missing_bookmark return unless valid_topic?(@post.topic_id) - return if @post.user_id == self.class.discobot_user.id + return if @post.user_id == self.discobot_user.id fake_delay enqueue_timeout_job(@user) @@ -211,7 +211,7 @@ module DiscourseNarrativeBot def reply_to_bookmark return unless valid_topic?(@post.topic_id) - return unless @post.user_id == self.class.discobot_user.id + return unless @post.user_id == self.discobot_user.id raw = <<~RAW #{I18n.t("#{I18N_KEY}.bookmark.reply", profile_page_url: url_helpers(:user_url, username: @user.username))} @@ -434,7 +434,7 @@ module DiscourseNarrativeBot reply_to(@post, I18n.t( "#{I18N_KEY}.mention.not_found", username: @user.username, - discobot_username: self.class.discobot_user.username + discobot_username: self.discobot_user.username )) end @@ -496,7 +496,7 @@ module DiscourseNarrativeBot username: @user.username, base_url: Discourse.base_url, certificate: certificate, - discobot_username: self.class.discobot_user.username, + discobot_username: self.discobot_user.username, advanced_trigger: AdvancedUserNarrative.reset_trigger ), topic_id: @data[:topic_id] @@ -504,7 +504,7 @@ module DiscourseNarrativeBot end def like_post(post) - PostAction.act(self.class.discobot_user, post, PostActionType.types[:like]) + PostAction.act(self.discobot_user, post, PostActionType.types[:like]) end def welcome_topic diff --git a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/track_selector.rb b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/track_selector.rb index 24a3df5788a..5540afd2028 100644 --- a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/track_selector.rb +++ b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/track_selector.rb @@ -136,7 +136,7 @@ module DiscourseNarrativeBot help_message elsif hint message = I18n.t(self.class.i18n_key('random_mention.reply'), - discobot_username: self.class.discobot_user.username, + discobot_username: self.discobot_user.username, help_trigger: self.class.help_trigger ) @@ -172,7 +172,7 @@ module DiscourseNarrativeBot tracks << AdvancedUserNarrative.reset_trigger end - discobot_username = self.class.discobot_user.username + discobot_username = self.discobot_user.username message = I18n.t( self.class.i18n_key('random_mention.tracks'), @@ -227,7 +227,7 @@ module DiscourseNarrativeBot if pm_to_bot?(@post) post_raw = @post.raw - post_raw.match(/^@#{self.class.discobot_user.username} #{self.class.skip_trigger}/i) || + post_raw.match(/^@#{self.discobot_user.username} #{self.class.skip_trigger}/i) || post_raw.strip == self.class.skip_trigger else false @@ -235,7 +235,7 @@ module DiscourseNarrativeBot end def match_trigger?(trigger) - discobot_username = self.class.discobot_user.username + discobot_username = self.discobot_user.username regexp = Regexp.new("@#{discobot_username} #{trigger}", 'i') match = @post.cooked.match(regexp) @@ -248,13 +248,13 @@ module DiscourseNarrativeBot def like_user_post if @post.raw.match(/thank/i) - PostAction.act(self.class.discobot_user, @post, PostActionType.types[:like]) + PostAction.act(self.discobot_user, @post, PostActionType.types[:like]) end end def bot_mentioned? @bot_mentioned ||= PostAnalyzer.new(@post.raw, @post.topic_id).raw_mentions.include?( - self.class.discobot_user.username + self.discobot_user.username ) end diff --git a/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb b/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb index 6e0a59aea00..f484b27556e 100644 --- a/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb +++ b/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/new_user_narrative_spec.rb @@ -230,7 +230,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do end it 'should create the right reply' do - post.update!(user: described_class.discobot_user) + post.update!(user: discobot_user) narrative.expects(:enqueue_timeout_job).with(user) narrative.input(:bookmark, user, post: post) @@ -402,7 +402,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do post_action = PostAction.last expect(post_action.post_action_type_id).to eq(PostActionType.types[:like]) - expect(post_action.user).to eq(described_class.discobot_user) + expect(post_action.user).to eq(discobot_user) expect(post_action.post).to eq(new_post) expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_flag) end @@ -456,7 +456,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do post_action = PostAction.last expect(post_action.post_action_type_id).to eq(PostActionType.types[:like]) - expect(post_action.user).to eq(described_class.discobot_user) + expect(post_action.user).to eq(discobot_user) expect(post_action.post).to eq(new_post) expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_flag) end @@ -728,7 +728,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do end describe 'flag tutorial' do - let(:post) { Fabricate(:post, user: described_class.discobot_user, topic: topic) } + let(:post) { Fabricate(:post, user: discobot_user, topic: topic) } let(:flag) { Fabricate(:flag, post: post, user: user) } let(:other_post) { Fabricate(:post, user: user, topic: topic) } @@ -833,7 +833,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do end describe 'when post contain the right answer' do - let(:post) { Fabricate(:post, user: described_class.discobot_user, topic: topic) } + let(:post) { Fabricate(:post, user: discobot_user, topic: topic) } let(:flag) { Fabricate(:flag, post: post, user: user) } before do diff --git a/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/track_selector_spec.rb b/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/track_selector_spec.rb index d0699754430..4681e7e4703 100644 --- a/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/track_selector_spec.rb +++ b/plugins/discourse-narrative-bot/spec/discourse_narrative_bot/track_selector_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' describe DiscourseNarrativeBot::TrackSelector do let(:user) { Fabricate(:user) } - let(:discobot_user) { described_class.discobot_user } + let(:discobot_user) { User.find(-2) } let(:narrative) { DiscourseNarrativeBot::NewUserNarrative.new } let(:random_mention_reply) do