Class: SlackRubyBot::Client
- Inherits:
-
Slack::RealTime::Client
- Object
- Slack::RealTime::Client
- SlackRubyBot::Client
- Includes:
- Loggable
- Defined in:
- lib/slack-ruby-bot/client.rb
Instance Attribute Summary collapse
-
#aliases ⇒ Object
Returns the value of attribute aliases.
-
#send_gifs ⇒ Object
Returns the value of attribute send_gifs.
Instance Method Summary collapse
-
#initialize(attrs = {}) ⇒ Client
constructor
A new instance of Client.
- #name ⇒ Object
- #name?(name) ⇒ Boolean
- #names ⇒ Object
- #say(options = {}) ⇒ Object
- #send_gifs? ⇒ Boolean
- #url ⇒ Object
Methods included from Loggable
Constructor Details
#initialize(attrs = {}) ⇒ Client
Returns a new instance of Client.
7 8 9 10 11 |
# File 'lib/slack-ruby-bot/client.rb', line 7 def initialize(attrs = {}) super(attrs) @aliases = attrs[:aliases] @send_gifs = attrs[:send_gifs] end |
Instance Attribute Details
#aliases ⇒ Object
Returns the value of attribute aliases.
4 5 6 |
# File 'lib/slack-ruby-bot/client.rb', line 4 def aliases @aliases end |
#send_gifs ⇒ Object
Returns the value of attribute send_gifs.
5 6 7 |
# File 'lib/slack-ruby-bot/client.rb', line 5 def send_gifs @send_gifs end |
Instance Method Details
#name ⇒ Object
37 38 39 |
# File 'lib/slack-ruby-bot/client.rb', line 37 def name SlackRubyBot.config.user || (self.self && self.self.name) end |
#name?(name) ⇒ Boolean
28 29 30 |
# File 'lib/slack-ruby-bot/client.rb', line 28 def name?(name) name && names.include?(name.downcase) end |
#names ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/slack-ruby-bot/client.rb', line 13 def names [ SlackRubyBot::Config.user, self.self ? self.self.name : nil, aliases, SlackRubyBot::Config.aliases, self.self && self.self.id ? "<@#{self.self.id.downcase}>" : nil, SlackRubyBot::Config.user_id ? "<@#{SlackRubyBot::Config.user_id.downcase}>" : nil, self.self && self.self.id ? "<@#{self.self.id.downcase}>:" : nil, SlackRubyBot::Config.user_id ? "<@#{SlackRubyBot::Config.user_id.downcase}>:" : nil, self.self && self.self.name ? "#{self.self.name.downcase}:" : nil, SlackRubyBot::Config.user ? "#{SlackRubyBot::Config.user}:" : nil ].compact.flatten end |
#say(options = {}) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/slack-ruby-bot/client.rb', line 45 def say( = {}) = .dup # get GIF keywords = .delete(:gif) # text text = .delete(:text) gif = begin Giphy.random(keywords) rescue StandardError => e logger.warn "Giphy.random: #{e.}" nil end if keywords && send_gifs? text = [text, gif && gif.image_url.to_s].compact.join("\n") ({ text: text }.merge()) end |
#send_gifs? ⇒ Boolean
32 33 34 35 |
# File 'lib/slack-ruby-bot/client.rb', line 32 def send_gifs? return false unless defined?(Giphy) send_gifs.nil? ? SlackRubyBot::Config.send_gifs? : send_gifs end |
#url ⇒ Object
41 42 43 |
# File 'lib/slack-ruby-bot/client.rb', line 41 def url SlackRubyBot.config.url || super end |