Class: MTProto::TL::CreateBot

Inherits:
Object
  • Object
show all
Includes:
Binary
Defined in:
lib/mtproto/tl/objects/create_bot.rb

Constant Summary collapse

CONSTRUCTOR =
0xe5b17f2b
INPUT_USER =
0xf21158c6
INPUT_USER_SELF =
0xf7c1b13f

Instance Method Summary collapse

Methods included from Binary

#b_u32, #b_u64, #u32_b, #u64_b

Constructor Details

#initialize(name:, username:, manager:, via_deeplink: false) ⇒ CreateBot

manager: { id:, access_hash: } or { type: :self }



13
14
15
16
17
18
# File 'lib/mtproto/tl/objects/create_bot.rb', line 13

def initialize(name:, username:, manager:, via_deeplink: false)
  @name = name
  @username = username
  @manager = manager
  @via_deeplink = via_deeplink
end

Instance Method Details

#serializeObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/mtproto/tl/objects/create_bot.rb', line 20

def serialize
  flags = 0
  flags |= (1 << 0) if @via_deeplink

  result = u32_b(CONSTRUCTOR)
  result += u32_b(flags)
  result += serialize_tl_string(@name)
  result += serialize_tl_string(@username)
  result += if @manager[:type] == :self
              u32_b(INPUT_USER_SELF)
            else
              u32_b(INPUT_USER) + u64_b(@manager[:id]) + u64_b(@manager[:access_hash] || 0)
            end
  result
end