26 lines
674 B
Ruby
26 lines
674 B
Ruby
module ServiceAccountHelper
|
|
def service_post(service, text, options = {})
|
|
acct = find_service_account(service)
|
|
return if acct.nil?
|
|
|
|
options[:text] = text
|
|
options[:local_only] ||= true
|
|
options[:nomentions] ||= true
|
|
options[:content_type] ||= 'text/markdown'
|
|
|
|
PostStatusService.new.call(acct, options.compact)
|
|
end
|
|
|
|
def service_dm(service, to, text, options = {})
|
|
options[:mentions] = [to]
|
|
options[:visibility] ||= :direct
|
|
service_post(service, text, options)
|
|
end
|
|
|
|
def find_service_account(service)
|
|
account_id = ENV["#{service.upcase}_USER"].to_i
|
|
return if account_id == 0
|
|
Account.find_by(id: account_id)
|
|
end
|
|
end
|