fastlane-plugin-telegram 0.1.3 → 0.1.4

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
- SHA1:
3
- metadata.gz: a644d8ee8efc450910ab328fb3daf49b5735c1ef
4
- data.tar.gz: c7d7ba99d90eb3d07d2ad6977790239e516be87f
2
+ SHA256:
3
+ metadata.gz: bb613367ee2f52519dc686ca4c66f57e189fbf4e8ef54a0c8e390a2ca5f0497e
4
+ data.tar.gz: 82a2575785148b0121fad4771d4c5e657785d989e11693c7f15beec645763a24
5
5
  SHA512:
6
- metadata.gz: 7562ad97197d364a34bf6d9590a11aaa2dd50ef73cdc88f461946315b80febc0af5375eee32fef990535fa169982dbad73e46b3591b06207857807a0d43e925f
7
- data.tar.gz: f6867b69f30960b760b0264983bcdd2f03af9b40d186e50228611e1ed7b098a78a9bc4bb55d2f09a4e744a33f5d94a910641eea644f96ffa0271c91938d1533d
6
+ metadata.gz: 8b2140477102429355ed74136f6b30ba36d322d26cddf84fe6446bff4ee5cfdef01b7d15331b9a9c7a1cc9efef333746206909bdd6bcacd709478860e6f56876
7
+ data.tar.gz: 4759b35b45811ee791b9bff66df6f33c81dee32ccf220af5eddc0e5ce1fee7e9ca58ed568ddb87cac5db5531ab89b3509e3c47651d47a5c3cf99cac27681db8d
data/README.md CHANGED
@@ -14,7 +14,15 @@ fastlane add_plugin telegram
14
14
 
15
15
  Allows post messages to telegram channel
16
16
 
17
- **Note to author:** Add a more detailed description about this plugin here. If your plugin contains multiple actions, make sure to mention them here.
17
+ ```ruby
18
+ telegram(
19
+ token: ENV['TG_BOT_TOKEN'], # get token from @BotFather
20
+ chat_id: ENV['TG_CHAT_ID'], # https://stackoverflow.com/questions/33858927/how-to-obtain-the-chat-id-of-a-private-telegram-channel
21
+ text: "Hello world, Telegram!", # Required
22
+ file: "file.pdf", # Optional. Please note, Bots can currently send files of any type of up to 50 MB in size.
23
+ mime_type: "application/pdf" # Required if file exist
24
+ )
25
+ ```
18
26
 
19
27
  ## Example
20
28
 
@@ -8,19 +8,45 @@ module Fastlane
8
8
  chat_id = params[:chat_id]
9
9
  text = params[:text]
10
10
  parse_mode = params[:parse_mode]
11
+ file_path = params[:file]
12
+ mime_type = params[:mime_type]
11
13
 
12
- uri = URI.parse("https://api.telegram.org/bot#{token}/sendMessage")
14
+ file = nil
15
+ if file_path != nil
16
+ if File.exist?(file_path)
17
+ if mime_type == nil
18
+ UI.user_error!("The mime type, required for send file")
19
+ end
20
+
21
+ file = UploadIO.new(file_path, mime_type)
22
+ end
23
+ end
24
+
25
+ if file_path != nil && file == nil
26
+ UI.message("Can't find file on path location")
27
+ end
28
+
29
+ method = (file == nil ? "sendMessage" : "sendDocument")
30
+ uri = URI.parse("https://api.telegram.org/bot#{token}/#{method}")
13
31
 
14
- if params[:proxy]
32
+ http = Net::HTTP.new(uri.host, uri.port)
33
+ if params[:proxy]
15
34
  proxy_uri = URI.parse(params[:proxy])
16
- http = Net::HTTP.new(uri.host, uri.port, proxy_uri.host, proxy_uri.port)
17
- http.use_ssl = true
18
- request = Net::HTTP::Post.new(uri.request_uri)
19
- request.set_form_data({"chat_id" => chat_id, "text" => text, "parse_mode" => parse_mode})
20
- response = http.request(request)
21
- else
22
- response = Net::HTTP.post_form(uri, {:chat_id => chat_id, :text => text, :parse_mode => parse_mode})
35
+ http = Net::HTTP.new(uri.host, uri.port, proxy_uri.host, proxy_uri.port, proxy_uri.user, proxy_uri.password)
23
36
  end
37
+ http.use_ssl = true
38
+
39
+ require 'net/http/post/multipart'
40
+ text_parameter = (file == nil ? "text" : "caption")
41
+ request = Net::HTTP::Post::Multipart.new(uri,
42
+ {
43
+ "chat_id" => chat_id,
44
+ text_parameter => text,
45
+ "parse_mode" => parse_mode,
46
+ "document" => file
47
+ })
48
+
49
+ response = http.request(request)
24
50
  end
25
51
 
26
52
  def self.description
@@ -56,6 +82,16 @@ module Fastlane
56
82
  description: "Text of the message to be sent",
57
83
  optional: false,
58
84
  type: String),
85
+ FastlaneCore::ConfigItem.new(key: :file,
86
+ env_name: "TELEGRAM_FILE",
87
+ description: "File path to the file to be sent",
88
+ optional: true,
89
+ type: String),
90
+ FastlaneCore::ConfigItem.new(key: :mime_type,
91
+ env_name: "TELEGRAM_FILE_MIME_TYPE",
92
+ description: "Mime type of file to be sent",
93
+ optional: true,
94
+ type: String),
59
95
  FastlaneCore::ConfigItem.new(key: :parse_mode,
60
96
  env_name: "TELEGRAM_PARSE_MODE",
61
97
  description: "Param (Markdown / HTML) for using markdown or HTML support in message",
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Telegram
3
- VERSION = "0.1.3"
3
+ VERSION = "0.1.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-telegram
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - sergpetrov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-28 00:00:00.000000000 Z
11
+ date: 2022-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -139,8 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
139
  - !ruby/object:Gem::Version
140
140
  version: '0'
141
141
  requirements: []
142
- rubyforge_project:
143
- rubygems_version: 2.5.2.3
142
+ rubygems_version: 3.0.3
144
143
  signing_key:
145
144
  specification_version: 4
146
145
  summary: Allows post messages to telegram channel