telegramAPI 1.0.11 → 1.0.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7c9908f71396de288dbd195d642ee99591ed9dc1
4
- data.tar.gz: 01d4febf435e5f35c3cc6e3dd454d66a35c329fd
3
+ metadata.gz: 84b02e4ec0791515fde7440bd0d17ffe2c7af1ad
4
+ data.tar.gz: 9c160edd39a5818bc5530de9eaf5b10900b19e3d
5
5
  SHA512:
6
- metadata.gz: 2b593ea37a4c1f09036faf33181f3e253883d279ee857412bf2c4919a69a03aaf73e97672c87126dfd634a4a5efde749ca503036fd4325c350d17a3b49af103b
7
- data.tar.gz: f70dd720c3b901c1ffdc00eb59b64aa091b3f733d9003d3d0526e193db773b83e718b1d25ba910a15f00bbe6de9582737a2951fcb519932d4a137fed2669edd3
6
+ metadata.gz: d15ef602f46f4a0f8f34010b3241d5a5d46f6be3f22af085e7bb3f4fd0d3ff73526f2fbac8d2fd7fc04addc2cd04a5bcd673f2f2fc2980b355cd1fadd4372838
7
+ data.tar.gz: c75acdef5092862dac5016f2ea7dbd4b92a14891d6fd611bb4336482bf26cf7dd2df15058de36c8cc9115353382123e288889d8a23a599cad810efdb7b6daa2d
data/README.md CHANGED
@@ -1,13 +1,13 @@
1
1
  # TelegramAPI
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/telegramAPI.svg)](https://badge.fury.io/rb/telegramAPI)
4
+ [![Dependency Status](https://gemnasium.com/bennesp/telegramAPI.svg)](https://gemnasium.com/bennesp/telegramAPI)
5
+ [![Code Climate](https://codeclimate.com/github/bennesp/telegramAPI/badges/gpa.svg)](https://codeclimate.com/github/bennesp/telegramAPI)
4
6
 
5
7
  This is a simple and lightweight Ruby API for Telegram Bots.
6
8
 
7
9
  With this tiny library you can create awesome Telegram Bot!
8
10
 
9
- Version: 1.0.10
10
-
11
11
  ## Installation
12
12
 
13
13
  ```
data/lib/telegramAPI.rb CHANGED
@@ -39,6 +39,10 @@ class TelegramAPI
39
39
  JSON.parse(open(@@core+@token+"/"+api+params_s).read)
40
40
  end
41
41
 
42
+ def post api, name, path, to, options={}
43
+ Message.new JSON.parse(RestClient.post(@@core+@token+api, {name=>File.new(path,'rb'), :chat_id=>to.to_s}.merge(parse_hash(options))).body)["result"]
44
+ end
45
+
42
46
  # Provide information about the bot itself
43
47
  # @return [User] Information about the bot
44
48
  def getMe
@@ -83,28 +87,37 @@ class TelegramAPI
83
87
  # @param options (see #sendMessage)
84
88
  # @return (see #sendMessage)
85
89
  def sendPhoto to, path, options={}
86
- Message.new JSON.parse(RestClient.post(@@core+@token+"/sendPhoto", {:photo=>File.new(path,'rb'), :chat_id=>to.to_s}.merge(parse_hash(options))).body)["result"]
90
+ self.post "/sendPhoto", :photo, path, to, options
91
+ end
92
+
93
+ # Send a photo through an ID
94
+ # @param to (see #sendMessage)
95
+ # @param id [String] The id of the photo to send
96
+ # @param options (see #sendMessage)
97
+ # @return (see #sendMessage)
98
+ def sendPhotoFromId to, id, options={}
99
+ Message.new self.query "sendPhoto", {"chat_id"=>to, "photo"=>id}.merge(parse_hash(options))["result"]
87
100
  end
88
101
 
89
102
  # Send an audio file in Ogg OPUS format of max 50MB
90
103
  # @param (see #sendPhoto)
91
104
  # @return (see #sendPhoto)
92
105
  def sendAudio to, path, options={}
93
- Message.new JSON.parse(RestClient.post(@@core+@token+"/sendAudio", {:audio=>File.new(path, 'rb'), :chat_id=>to.to_s}.merge(parse_hash(options))).body)["result"]
106
+ self.post "/sendAudio", :audio, path, to, options
94
107
  end
95
108
 
96
109
  # Send a general document (file, image, audio)
97
110
  # @param (see #sendPhoto)
98
111
  # @return (see #sendPhoto)
99
112
  def sendDocument to, path, options={}
100
- Message.new JSON.parse(RestClient.post(@@core+@token+"/sendDocument", {:document=>File.new(path,'rb'), :chat_id=>to.to_s}.merge(parse_hash(options))).body)["result"]
113
+ self.post "/sendDocument", :document, path, to, options
101
114
  end
102
115
 
103
116
  # Send a Sticker from File
104
117
  # @param (see #sendPhoto)
105
118
  # @return (see #sendSticker)
106
119
  def sendStickerFromFile to, path, options={}
107
- Message.new JSON.parse(RestClient.post(@@core+@token+"/sendStiker", {:sticker=>File.new(path,'rb'), :chat_id=>to.to_s}.merge(parse_hash(options))).body)["result"]
120
+ self.post "/sendSticker", :sticker, path, to, options
108
121
  end
109
122
 
110
123
  # Send a Sticker through its ID
@@ -120,7 +133,7 @@ class TelegramAPI
120
133
  # @param (see #sendPhoto)
121
134
  # @return (see #sendPhoto)
122
135
  def sendVideo to, path, options={}
123
- Message.new JSON.parse(RestClient.post(@@core+@token+"/sendVideo", {:video=>File.new(path,'rb'), :chat_id=>to.to_s}.merge(parse_hash(options))).body)["result"]
136
+ self.post "/sendVideo", :video, path, to, options
124
137
  end
125
138
 
126
139
  # Send a location
@@ -148,5 +161,5 @@ class TelegramAPI
148
161
  UserProfilePhotos.new self.query("getUserProfilePhotos", {"user_id"=>id}.merge(parse_hash(options)))["result"]
149
162
  end
150
163
 
151
- protected :query, :parse_hash
164
+ protected :query, :parse_hash, :post
152
165
  end
@@ -182,10 +182,6 @@ class ReplyKeyboardMarkup
182
182
  @one_time_keyboard = json["one_time_keyboard"]
183
183
  @selective = json["selective"]
184
184
  end
185
-
186
- def to_json
187
- "{\"keyboard\":" + @keyboard.to_json + ", \"resize_keyboard\":" + (!@resize_keyboard ? "false" : "true") + ", \"one_time_keyboard\":" + (!@one_time_keyboard ? "false" : "true") + ", \"selective\":" + (!@selective ? "false" : "true") + "}"
188
- end
189
185
  end
190
186
 
191
187
  class ReplyKeyboardHide
@@ -195,10 +191,6 @@ class ReplyKeyboardHide
195
191
  @hide_keyboard = json["hide_keyboard"]
196
192
  @selective = json["selective"]
197
193
  end
198
-
199
- def to_json
200
- "{\"hide_keyboard\":true, \"selective\":"+(!@selective ? "false" : "true")+"}"
201
- end
202
194
  end
203
195
 
204
196
  class ForceReply
@@ -208,8 +200,4 @@ class ForceReply
208
200
  @force_reply = json["force_reply"]
209
201
  @selective = json["selective"]
210
202
  end
211
-
212
- def to_json
213
- "{\"force_reply\":true, \"selective\":"+(!@selective ? "false" : "true")+"}"
214
- end
215
203
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: telegramAPI
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.11
4
+ version: 1.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benedetto Nespoli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-10 00:00:00.000000000 Z
11
+ date: 2015-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -59,9 +59,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
59
59
  version: '0'
60
60
  requirements: []
61
61
  rubyforge_project:
62
- rubygems_version: 2.2.2
62
+ rubygems_version: 2.4.5
63
63
  signing_key:
64
64
  specification_version: 4
65
65
  summary: Telegram API for Bots
66
66
  test_files: []
67
- has_rdoc: