class Telegram::TelegramChat

Attributes

members[R]
name[R]
type[R]

Public Class Methods

new(client, chat) click to toggle source
# File lib/telegram/models.rb, line 40
def initialize(client, chat)
  @client = client
  @chat = chat

  @id = chat['id']
  @title = chat.has_key?('title') ? chat['title'] : chat['print_name']
  @type = chat['type']

  @members = []
  if chat.has_key?('members')
    chat['members'].each { |user|
      @members << TelegramContact.pick_or_new(client, user)
    }
  elsif @type == 'user' and chat['user']
    @members << TelegramContact.pick_or_new(client, chat)
  end
end
pick_or_new(client, chat) click to toggle source
# File lib/telegram/models.rb, line 34
def self.pick_or_new(client, chat)
  ct = client.chats.find { |c| c.id == chat['id'] }
  return ct unless ct.nil?
  TelegramChat.new(client, chat)
end

Public Instance Methods

leave!() click to toggle source
# File lib/telegram/models.rb, line 58
def leave!
  @client.chat_del_user(self, @client.profile)
end
to_s() click to toggle source
# File lib/telegram/models.rb, line 66
def to_s
  "<TelegramChat #{@title}(#{@type}\##{@id}) members=#{@members.size}>"
end
to_tg() click to toggle source
# File lib/telegram/models.rb, line 62
def to_tg
  "#{@type}\##{@id}"
end