telbe 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/lib/telbe.rb +1 -7
- data/lib/telbe/bot.rb +8 -102
- data/lib/telbe/contact.rb +2 -15
- data/lib/telbe/helper.rb +46 -0
- data/lib/telbe/keyboard.rb +5 -22
- data/lib/telbe/location.rb +2 -9
- data/lib/telbe/media.rb +8 -68
- data/lib/telbe/poll.rb +2 -8
- data/lib/telbe/sticker.rb +3 -19
- data/lib/telbe/user.rb +2 -26
- data/lib/telbe/version.rb +1 -1
- data/lib/telbe/webhook.rb +3 -13
- data/telbe.gemspec +1 -1
- metadata +14 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 815ab89f78ce78539b82a13b665694521330064655a963a96d3b7818c4d7831b
|
4
|
+
data.tar.gz: ffd119196e75361014e5ae52304a35626ccce170ccd4d6e9b8e0d6ca390bfbad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60ee12ad31f8d363d441eb8aa74c36b4de8eeda9bbf2395f5424ad5ea154006aa94dc6b71f6cdec020afb0b3d0779eb299c98c4d50d468ed47c02bced49fd225
|
7
|
+
data.tar.gz: ed4df911617b94eeda88aba20c28e358f1262bfa67d1961ebca9ca39d3b0f3d40995a13d17caa4324bbf489a89976424f1f8e7066e00c7aa7fea5d84b2cfd795
|
data/.gitignore
CHANGED
data/lib/telbe.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'excon'
|
2
|
-
require 'virtus'
|
3
2
|
require 'json'
|
4
3
|
|
4
|
+
require 'telbe/helper'
|
5
5
|
require 'telbe/webhook'
|
6
6
|
require 'telbe/user'
|
7
7
|
require 'telbe/contact'
|
@@ -11,9 +11,3 @@ require 'telbe/media'
|
|
11
11
|
require 'telbe/sticker'
|
12
12
|
require 'telbe/location'
|
13
13
|
require 'telbe/bot'
|
14
|
-
|
15
|
-
module BotEngine
|
16
|
-
def self.new(opts)
|
17
|
-
Bot.new(opts)
|
18
|
-
end
|
19
|
-
end
|
data/lib/telbe/bot.rb
CHANGED
@@ -44,100 +44,27 @@ module Telbe
|
|
44
44
|
end
|
45
45
|
|
46
46
|
class MessageEntity
|
47
|
-
include
|
47
|
+
include InitializeFromHash
|
48
48
|
end
|
49
49
|
|
50
50
|
class ForceReply
|
51
|
-
include
|
52
|
-
attribute :force_reply, Boolean
|
53
|
-
attribute :selective, Boolean
|
51
|
+
include InitializeFromHash
|
54
52
|
end
|
55
53
|
|
56
54
|
class MessageDescriptor
|
57
|
-
include
|
58
|
-
attribute :chat_id, Object # Integer or String - Unique identifier for the target chat or username of the target channel (in the format @channelusername)
|
59
|
-
attribute :text, String # Text of the message to be sent
|
60
|
-
attribute :parse_mode, String # Optional Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in your bot's message.
|
61
|
-
attribute :disable_web_page_preview, Boolean # Optional Disables link previews for links in this message
|
62
|
-
attribute :disable_notification, Boolean # Optional Sends the message silently. Users will receive a notification with no sound.
|
63
|
-
attribute :reply_to_message_id, Integer # Optional If the message is a reply, ID of the original message
|
64
|
-
attribute :reply_markup, Object # InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply - Optional Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user.
|
55
|
+
include InitializeFromHash
|
65
56
|
end
|
66
57
|
|
67
58
|
class ChatPhoto
|
68
|
-
include
|
69
|
-
attribute :small_file_id, String
|
70
|
-
attribute :big_file_id, String
|
59
|
+
include InitializeFromHash
|
71
60
|
end
|
72
61
|
|
73
62
|
class Chat
|
74
|
-
include
|
75
|
-
attribute :id, Integer
|
76
|
-
attribute :type, String
|
77
|
-
attribute :title, String
|
78
|
-
attribute :username, String
|
79
|
-
attribute :first_name, String
|
80
|
-
attribute :last_name, String
|
81
|
-
attribute :all_members_are_administrators, Boolean
|
82
|
-
attribute :photo, ChatPhoto
|
83
|
-
attribute :description, String
|
84
|
-
attribute :invite_link, String
|
85
|
-
attribute :sticker_set_name, String
|
86
|
-
attribute :can_set_sticker_set, Boolean
|
63
|
+
include InitializeFromHash
|
87
64
|
end
|
88
65
|
|
89
66
|
class Message
|
90
|
-
include
|
91
|
-
attribute :message_id, Integer
|
92
|
-
alias_method :id, :message_id
|
93
|
-
alias_method :to_i, :id
|
94
|
-
attribute :from, User
|
95
|
-
alias_method :user, :from
|
96
|
-
attribute :text, String
|
97
|
-
attribute :date, DateTime
|
98
|
-
attribute :chat, Chat
|
99
|
-
attribute :forward_from, User
|
100
|
-
attribute :forward_from_chat, Chat
|
101
|
-
attribute :forward_from_message_id, Integer
|
102
|
-
attribute :forward_signature, String
|
103
|
-
attribute :forward_sender_name, String
|
104
|
-
attribute :forward_date, Integer
|
105
|
-
attribute :reply_to_message, Message
|
106
|
-
attribute :edit_date, Integer
|
107
|
-
attribute :media_group_id, String
|
108
|
-
attribute :author_signature, String
|
109
|
-
attribute :text, String
|
110
|
-
attribute :entities, Array # of MessageEntity
|
111
|
-
attribute :caption_entities, Array # of MessageEntity
|
112
|
-
attribute :audio, Audio
|
113
|
-
attribute :document, Document
|
114
|
-
attribute :animation, Animation
|
115
|
-
# attribute :game, Game
|
116
|
-
attribute :photo, Array # of PhotoSize
|
117
|
-
attribute :sticker, Sticker
|
118
|
-
attribute :video, Video
|
119
|
-
attribute :voice, Voice
|
120
|
-
attribute :video_note, VideoNote
|
121
|
-
attribute :caption, String
|
122
|
-
attribute :contact, Contact
|
123
|
-
attribute :location, Location
|
124
|
-
attribute :venue, Venue
|
125
|
-
attribute :poll, Poll
|
126
|
-
attribute :new_chat_members, Array # of User
|
127
|
-
attribute :left_chat_member , User
|
128
|
-
attribute :new_chat_title, String
|
129
|
-
attribute :new_chat_photo, Array # of PhotoSize
|
130
|
-
attribute :delete_chat_photo, Boolean
|
131
|
-
attribute :group_chat_created, Boolean
|
132
|
-
attribute :supergroup_chat_created, Boolean
|
133
|
-
attribute :channel_chat_created, Boolean
|
134
|
-
attribute :migrate_to_chat_id, Integer
|
135
|
-
attribute :migrate_from_chat_id, Integer
|
136
|
-
attribute :pinned_message, Message
|
137
|
-
# attribute :invoice, Invoice
|
138
|
-
# attribute :successful_payment, SuccessfulPayment
|
139
|
-
attribute :connected_website, String
|
140
|
-
# attribute :passport_data, PassportData
|
67
|
+
include InitializeFromHash
|
141
68
|
|
142
69
|
def reply(&block)
|
143
70
|
reply = MessageDescriptor.new(chat_id: chat.id)
|
@@ -150,33 +77,12 @@ module Telbe
|
|
150
77
|
end
|
151
78
|
end
|
152
79
|
|
153
|
-
class Chat
|
154
|
-
attribute :pinned_message, Message
|
155
|
-
end
|
156
|
-
|
157
80
|
class Update
|
158
|
-
include
|
159
|
-
attribute :update_id, Integer
|
160
|
-
alias_method :id, :update_id
|
161
|
-
alias_method :to_i, :id
|
162
|
-
attribute :message, Message
|
163
|
-
alias_method :edited_message, :message
|
164
|
-
alias_method :channel_post, :message
|
165
|
-
alias_method :edited_channel_post, :message
|
166
|
-
# attribute :inline_query, InlineQuery
|
167
|
-
# attribute :chosen_inline_result, ChosenInlineResult
|
168
|
-
# attribute :callback_query, CallbackQuery
|
169
|
-
# attribute :shipping_query, ShippingQuery
|
170
|
-
# attribute :pre_checkout_query, PreCheckoutQuery
|
171
|
-
attribute :poll, Poll
|
81
|
+
include InitializeFromHash
|
172
82
|
end
|
173
83
|
|
174
84
|
class UpdateDescriptor
|
175
|
-
include
|
176
|
-
attribute :offset, Integer
|
177
|
-
attribute :limit, Integer
|
178
|
-
attribute :timeout, Integer
|
179
|
-
attribute :allowed_updates, Array # of String
|
85
|
+
include InitializeFromHash
|
180
86
|
end
|
181
87
|
|
182
88
|
class ResponseError < StandardError
|
data/lib/telbe/contact.rb
CHANGED
@@ -6,23 +6,10 @@ module Telbe
|
|
6
6
|
end
|
7
7
|
|
8
8
|
class Contact
|
9
|
-
include
|
10
|
-
attribute :phone_number, String
|
11
|
-
attribute :first_name, String
|
12
|
-
attribute :last_name, String
|
13
|
-
attribute :user_id, Integer
|
14
|
-
attribute :vcard, String
|
9
|
+
include InitializeFromHash
|
15
10
|
end
|
16
11
|
|
17
12
|
class ContactDescriptor
|
18
|
-
include
|
19
|
-
attribute :chat_id, Integer or String
|
20
|
-
attribute :phone_number, String
|
21
|
-
attribute :first_name, String
|
22
|
-
attribute :last_name, String
|
23
|
-
attribute :vcard, String
|
24
|
-
attribute :disable_notification, Boolean
|
25
|
-
attribute :reply_to_message_id, Integer
|
26
|
-
attribute :reply_markup, Object #InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply
|
13
|
+
include InitializeFromHash
|
27
14
|
end
|
28
15
|
end
|
data/lib/telbe/helper.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
class String
|
2
|
+
def camelize
|
3
|
+
self.split('_').collect(&:capitalize).join
|
4
|
+
end
|
5
|
+
end
|
6
|
+
|
7
|
+
module Telbe
|
8
|
+
module InitializeFromHash
|
9
|
+
def initialize(opts)
|
10
|
+
opts.each_pair do |k, v|
|
11
|
+
if Telbe::const_defined?(k.to_s.camelize) then
|
12
|
+
case v
|
13
|
+
when Hash
|
14
|
+
v = Telbe::const_get(k.to_s.camelize).new(v)
|
15
|
+
when Array
|
16
|
+
v.collect! { |i| Telbe::const_get(k.to_s.camelize).new(i) }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
instance_variable_set("@#{k}", v)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def to_h
|
24
|
+
h = {}
|
25
|
+
instance_variables.each do |i|
|
26
|
+
k = /\@(.*)/.match(i.to_s)[1]
|
27
|
+
v = instance_variable_get(i)
|
28
|
+
if v.class.inspect.start_with?("Telbe") then
|
29
|
+
h[k] = v.to_h
|
30
|
+
else
|
31
|
+
h[k] = v
|
32
|
+
end
|
33
|
+
end
|
34
|
+
h
|
35
|
+
end
|
36
|
+
|
37
|
+
def method_missing(m, *args, &block)
|
38
|
+
case m
|
39
|
+
when /(.*)\=$/
|
40
|
+
instance_variable_set("@#{$1}", args[0])
|
41
|
+
else
|
42
|
+
instance_variable_get("@#{m}")
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/telbe/keyboard.rb
CHANGED
@@ -1,38 +1,21 @@
|
|
1
1
|
module Telbe
|
2
2
|
class KeyboardButton
|
3
|
-
include
|
4
|
-
attribute :text, String
|
5
|
-
attribute :request_contact, Boolean
|
6
|
-
attribute :request_location, Boolean
|
3
|
+
include InitializeFromHash
|
7
4
|
end
|
8
5
|
|
9
6
|
class ReplyKeyboardRemove
|
10
|
-
include
|
11
|
-
attribute :remove_keyboard, Boolean
|
12
|
-
attribute :selective, Boolean
|
7
|
+
include InitializeFromHash
|
13
8
|
end
|
14
9
|
|
15
10
|
class ReplyKeyboardMarkup
|
16
|
-
include
|
17
|
-
attribute :keyboard, Array # of Array of KeyboardButton
|
18
|
-
attribute :resize_keyboard, Boolean
|
19
|
-
attribute :one_time_keyboard, Boolean
|
20
|
-
attribute :selective, Boolean
|
11
|
+
include InitializeFromHash
|
21
12
|
end
|
22
13
|
|
23
14
|
class InlineKeyboardMarkup
|
24
|
-
include
|
25
|
-
attribute :inline_keyboard, Array # of Array of InlineKeyboardButton
|
15
|
+
include InitializeFromHash
|
26
16
|
end
|
27
17
|
|
28
18
|
class InlineKeyboardButton
|
29
|
-
include
|
30
|
-
attribute :text, String
|
31
|
-
attribute :url, String
|
32
|
-
attribute :callback_data, String
|
33
|
-
attribute :switch_inline_query, String
|
34
|
-
attribute :switch_inline_query_current_chat, String
|
35
|
-
# attribute :callback_game, CallbackGame
|
36
|
-
# attribute :pay, Boolean
|
19
|
+
include InitializeFromHash
|
37
20
|
end
|
38
21
|
end
|
data/lib/telbe/location.rb
CHANGED
@@ -1,16 +1,9 @@
|
|
1
1
|
module Telbe
|
2
2
|
class Location
|
3
|
-
include
|
4
|
-
attribute :longitude, Float
|
5
|
-
attribute :latitude, Float
|
3
|
+
include InitializeFromHash
|
6
4
|
end
|
7
5
|
|
8
6
|
class Venue
|
9
|
-
include
|
10
|
-
attribute :location, Location
|
11
|
-
attribute :address, String
|
12
|
-
attribute :title, String
|
13
|
-
attribute :foursquare_id, String
|
14
|
-
attribute :foursquare_type, String
|
7
|
+
include InitializeFromHash
|
15
8
|
end
|
16
9
|
end
|
data/lib/telbe/media.rb
CHANGED
@@ -1,108 +1,48 @@
|
|
1
1
|
module Telbe
|
2
2
|
class PhotoSize
|
3
|
-
include
|
4
|
-
attribute :file_id, String
|
5
|
-
attribute :width, Integer
|
6
|
-
attribute :height, Integer
|
7
|
-
attribute :file_size, Integer
|
3
|
+
include InitializeFromHash
|
8
4
|
end
|
9
5
|
|
10
6
|
class Animation
|
11
|
-
include
|
12
|
-
attribute :file_id, String
|
13
|
-
attribute :width, Integer
|
14
|
-
attribute :height, Integer
|
15
|
-
attribute :duration, Integer
|
16
|
-
attribute :thumb, PhotoSize
|
17
|
-
attribute :file_name, String
|
18
|
-
attribute :mime_type, String
|
19
|
-
attribute :file_size, Integer
|
7
|
+
include InitializeFromHash
|
20
8
|
end
|
21
9
|
|
22
10
|
class Document
|
23
|
-
include
|
24
|
-
attribute :file_id, String
|
25
|
-
attribute :thumb, PhotoSize
|
26
|
-
attribute :file_name, String
|
27
|
-
attribute :mime_type, String
|
28
|
-
attribute :file_size, Integer
|
11
|
+
include InitializeFromHash
|
29
12
|
end
|
30
13
|
|
31
14
|
class Audio
|
32
|
-
include
|
33
|
-
attribute :file_id, String
|
34
|
-
attribute :duration, Integer
|
35
|
-
attribute :performer, String
|
36
|
-
attribute :title, String
|
37
|
-
attribute :mime_type, String
|
38
|
-
attribute :file_size, Integer
|
39
|
-
attribute :thumb, PhotoSize
|
15
|
+
include InitializeFromHash
|
40
16
|
end
|
41
17
|
|
42
18
|
class Video
|
43
|
-
include
|
44
|
-
attribute :file_id, String
|
45
|
-
attribute :width, Integer
|
46
|
-
attribute :height, Integer
|
47
|
-
attribute :duration, Integer
|
48
|
-
attribute :thumb, PhotoSize
|
49
|
-
attribute :mime_type, String
|
50
|
-
attribute :file_size, Integer
|
19
|
+
include InitializeFromHash
|
51
20
|
end
|
52
21
|
|
53
22
|
class Voice
|
54
|
-
include
|
55
|
-
attribute :file_id, String
|
56
|
-
attribute :duration, Integer
|
57
|
-
attribute :mime_type, String
|
58
|
-
attribute :file_size, Integer
|
23
|
+
include InitializeFromHash
|
59
24
|
end
|
60
25
|
|
61
26
|
class VideoNote
|
62
|
-
include
|
63
|
-
attribute :file_id, String
|
64
|
-
attribute :length, Integer
|
65
|
-
attribute :duration, Integer
|
66
|
-
attribute :thumb, PhotoSize
|
67
|
-
attribute :file_size, Integer
|
27
|
+
include InitializeFromHash
|
68
28
|
end
|
69
29
|
|
70
30
|
class InputMedia
|
71
|
-
include
|
72
|
-
attribute :type, String
|
73
|
-
attribute :media, String
|
74
|
-
attribute :caption, String
|
75
|
-
attribute :parse_mode, String
|
31
|
+
include InitializeFromHash
|
76
32
|
end
|
77
33
|
|
78
34
|
class InputMediaAnimation < InputMedia
|
79
|
-
attribute :thumb, Object
|
80
|
-
attribute :width, Integer
|
81
|
-
attribute :height, Integer
|
82
|
-
attribute :duration, Integer
|
83
35
|
end
|
84
36
|
|
85
37
|
class InputMediaDocument < InputMedia
|
86
|
-
include Virtus.model
|
87
|
-
attribute :thumb, Object
|
88
38
|
end
|
89
39
|
|
90
40
|
class InputMediaAudio < InputMedia
|
91
|
-
include Virtus.model
|
92
|
-
attribute :thumb, Object
|
93
|
-
attribute :duration, Integer
|
94
|
-
attribute :performer, String
|
95
|
-
attribute :title, String
|
96
41
|
end
|
97
42
|
|
98
43
|
class InputMediaPhoto < InputMedia
|
99
44
|
end
|
100
45
|
|
101
46
|
class InputMediaVideo < InputMedia
|
102
|
-
attribute :thumb, Object
|
103
|
-
attribute :width, Integer
|
104
|
-
attribute :height, Integer
|
105
|
-
attribute :duration, Integer
|
106
|
-
attribute :supports_streaming, Boolean
|
107
47
|
end
|
108
48
|
end
|
data/lib/telbe/poll.rb
CHANGED
@@ -3,16 +3,10 @@ module Telbe
|
|
3
3
|
end
|
4
4
|
|
5
5
|
class PollOption
|
6
|
-
include
|
7
|
-
attribute :text, String
|
8
|
-
attribute :voter_count, Integer
|
6
|
+
include InitializeFromHash
|
9
7
|
end
|
10
8
|
|
11
9
|
class Poll
|
12
|
-
include
|
13
|
-
attribute :id, String
|
14
|
-
attribute :question, String
|
15
|
-
attribute :options, Array # of PollOption
|
16
|
-
attribute :is_closed, Boolean
|
10
|
+
include InitializeFromHash
|
17
11
|
end
|
18
12
|
end
|
data/lib/telbe/sticker.rb
CHANGED
@@ -3,30 +3,14 @@ module Telbe
|
|
3
3
|
end
|
4
4
|
|
5
5
|
class MaskPosition
|
6
|
-
include
|
7
|
-
attribute :point, String
|
8
|
-
attribute :x_shift, Float
|
9
|
-
attribute :y_shift, Float
|
10
|
-
attribute :scale, Float
|
6
|
+
include InitializeFromHash
|
11
7
|
end
|
12
8
|
|
13
9
|
class Sticker
|
14
|
-
include
|
15
|
-
attribute :file_id, String
|
16
|
-
attribute :width, Integer
|
17
|
-
attribute :height, Integer
|
18
|
-
attribute :thumb, PhotoSize
|
19
|
-
attribute :emoji, String
|
20
|
-
attribute :set_name, String
|
21
|
-
attribute :mask_position, MaskPosition
|
22
|
-
attribute :file_size, Integer
|
10
|
+
include InitializeFromHash
|
23
11
|
end
|
24
12
|
|
25
13
|
class StickerSet
|
26
|
-
include
|
27
|
-
attribute :name, String
|
28
|
-
attribute :title, String
|
29
|
-
attribute :contains_masks, Boolean
|
30
|
-
attribute :stickers, Array # of Sticker
|
14
|
+
include InitializeFromHash
|
31
15
|
end
|
32
16
|
end
|
data/lib/telbe/user.rb
CHANGED
@@ -12,34 +12,10 @@ module Telbe
|
|
12
12
|
end
|
13
13
|
|
14
14
|
class User
|
15
|
-
include
|
16
|
-
attribute :id, Integer #Unique identifier for this user or bot
|
17
|
-
alias_method :to_i, :id
|
18
|
-
attribute :is_bot, Boolean
|
19
|
-
attribute :first_name, String #User‘s or bot’s first name
|
20
|
-
attribute :last_name, String
|
21
|
-
attribute :username, String
|
22
|
-
attribute :language_code, String
|
15
|
+
include InitializeFromHash
|
23
16
|
end
|
24
17
|
|
25
18
|
class ChatMember
|
26
|
-
include
|
27
|
-
attribute :user, User
|
28
|
-
attribute :status, String
|
29
|
-
attribute :until_date, Integer
|
30
|
-
attribute :can_be_edited, Boolean
|
31
|
-
attribute :can_change_info, Boolean
|
32
|
-
attribute :can_post_messages, Boolean
|
33
|
-
attribute :can_edit_messages, Boolean
|
34
|
-
attribute :can_delete_messages, Boolean
|
35
|
-
attribute :can_invite_users, Boolean
|
36
|
-
attribute :can_restrict_members, Boolean
|
37
|
-
attribute :can_pin_messages, Boolean
|
38
|
-
attribute :can_promote_members, Boolean
|
39
|
-
attribute :is_member, Boolean
|
40
|
-
attribute :can_send_messages, Boolean
|
41
|
-
attribute :can_send_media_messages, Boolean
|
42
|
-
attribute :can_send_other_messages, Boolean
|
43
|
-
attribute :can_add_web_page_previews, Boolean
|
19
|
+
include InitializeFromHash
|
44
20
|
end
|
45
21
|
end
|
data/lib/telbe/version.rb
CHANGED
data/lib/telbe/webhook.rb
CHANGED
@@ -14,24 +14,14 @@ module Telbe
|
|
14
14
|
end
|
15
15
|
|
16
16
|
class WebHookInfo
|
17
|
-
include
|
18
|
-
attribute :url, String
|
19
|
-
attribute :has_custom_certificate, Boolean
|
20
|
-
attribute :pending_update_count, Integer
|
21
|
-
attribute :last_error_date, Integer
|
22
|
-
attribute :last_error_message, String
|
23
|
-
attribute :max_connections, Integer
|
24
|
-
attribute :allowed_updates, Array # of String
|
17
|
+
include InitializeFromHash
|
25
18
|
end
|
26
19
|
|
27
20
|
class InputFile
|
21
|
+
include InitializeFromHash
|
28
22
|
end
|
29
23
|
|
30
24
|
class WebHookDescriptor
|
31
|
-
include
|
32
|
-
attribute :url, String
|
33
|
-
attribute :certificate, InputFile
|
34
|
-
attribute :max_connections, Integer
|
35
|
-
attribute :allowed_updates, Array # of String
|
25
|
+
include InitializeFromHash
|
36
26
|
end
|
37
27
|
end
|
data/telbe.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.require_paths = ["lib"]
|
18
18
|
|
19
19
|
spec.add_dependency "excon", ">= 0.64.0"
|
20
|
-
spec.add_dependency "virtus", ">= 1.0.5"
|
21
20
|
spec.add_development_dependency "bundler", "~> 2.0"
|
22
21
|
spec.add_development_dependency "rspec"
|
22
|
+
spec.add_development_dependency "minitest"
|
23
23
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: telbe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rodrigo Garcia Couto
|
@@ -25,35 +25,35 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.64.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
-
type: :
|
33
|
+
version: '2.0'
|
34
|
+
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -80,6 +80,7 @@ files:
|
|
80
80
|
- lib/telbe.rb
|
81
81
|
- lib/telbe/bot.rb
|
82
82
|
- lib/telbe/contact.rb
|
83
|
+
- lib/telbe/helper.rb
|
83
84
|
- lib/telbe/keyboard.rb
|
84
85
|
- lib/telbe/location.rb
|
85
86
|
- lib/telbe/media.rb
|