about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/lib/command_tag/command/status_tools.rb3
-rw-r--r--app/lib/command_tag/processor.rb4
2 files changed, 6 insertions, 1 deletions
diff --git a/app/lib/command_tag/command/status_tools.rb b/app/lib/command_tag/command/status_tools.rb
index 5cc11dde2..9990dc136 100644
--- a/app/lib/command_tag/command/status_tools.rb
+++ b/app/lib/command_tag/command/status_tools.rb
@@ -61,6 +61,9 @@ module CommandTag::Command::StatusTools
           mention(resolve_mention(target))
         end
       end
+    elsif args[0] == 'community'
+      @status.visibility = :public
+      @status.domain_permissions.create_or_update(domain: '*', visibility: :unlisted)
     else
       args[1..-1].flat_map(&:split).uniq.each do |domain|
         domain = normalize_domain(domain) unless domain == '*'
diff --git a/app/lib/command_tag/processor.rb b/app/lib/command_tag/processor.rb
index f758994a0..8461e902f 100644
--- a/app/lib/command_tag/processor.rb
+++ b/app/lib/command_tag/processor.rb
@@ -300,11 +300,13 @@ class CommandTag::Processor
             @account.user.setting_default_privacy
           when 'to', 'allow', 'allow-from', 'from'
             'cc'
+          when 'm', 'l', 'mp', 'monsterpit', 'local'
+            'community'
           else
             arg.strip
           end
 
-    %w(public unlisted private limited direct cc).include?(arg) ? arg : nil
+    %w(public unlisted private limited direct cc community).include?(arg) ? arg : nil
   end
 
   def read_falsy_from(arg)