diff --git a/app/lib/bangtags.rb b/app/lib/bangtags.rb
index 7825f3f21..3869b5eb4 100644
--- a/app/lib/bangtags.rb
+++ b/app/lib/bangtags.rb
@@ -422,42 +422,60 @@ class Bangtags
end
when 'i', 'we'
chunk = nil
- next if cmd[1].nil?
- case cmd[1].downcase
+ cmd.shift
+ c = cmd.shift
+ next if c.nil?
+ case c.downcase
when 'am', 'are'
- who = cmd[2]
- if who.blank?
+ if cmd[0].blank?
@vars.delete('_they:are')
status.footer = nil
next
- elsif who == 'not'
- who = cmd[3]
- next if who.blank?
- name = who.downcase.gsub(/\s+/, '')
- @vars.delete("_they:are:#{name}")
- next unless @vars['_they:are'] == name
- @vars.delete('_they:are')
- status.footer = nil
+ elsif cmd[0] == 'not'
+ cmd.each do |name|
+ name = who.downcase.gsub(/\s+/, '')
+ @vars.delete("_they:are:#{name}")
+ next unless @vars['_they:are'] == name
+ @vars.delete('_they:are')
+ status.footer = nil
+ end
next
- elsif who == 'list'
+ elsif cmd[0] == 'list'
@status.visibility = :direct
@status.local_only = true
@status.content_type = 'text/markdown'
names = @vars.keys.select { |k| k.start_with?('_they:are:') }
+ names.delete('_they:are:_several')
names.map! { |k| "#{k[10..-1]}
is #{@vars[k]}" }
@chunks << (["\n# #!
i:am:list
:\n