kanal-interfaces-telegram 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0443fcd3d0798e1f0d9765f25790852ec5f99635b88d78dd51b30a4c1491166
|
4
|
+
data.tar.gz: a0c4f6a617e075a62e2d2a15802d25267eb297b0cf85991c4ffd7c2908a470bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 541a8cdc495e3def560db1209f9a0274b476b528d2887d1686de7557dae3d8e3cb24447ddedb763b0a11d64baf040d02cb888c4d01037a3df54e2c3714501c07
|
7
|
+
data.tar.gz: a6d4e89bda323eff32315cbc0acaf47e6bdd5f87c685c2e7a499f5f955d44b905373e477ec0a6e02e4464015adea1b59154966436fc14f77c4b4603411f5c1a8
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
+
## [0.2.0] - 2023-01-30
|
4
|
+
|
5
|
+
- Library now can send images via .tg_image_path
|
6
|
+
- Populating separate field in input
|
7
|
+
- Using output.tg_chat_id and not the one inside interface, this is preparations for future sending outputs in separate methods... Probably
|
8
|
+
|
3
9
|
## [0.1.0] - 2022-11-21
|
4
10
|
|
5
11
|
- Initial release
|
data/Gemfile.lock
CHANGED
@@ -17,8 +17,16 @@ module Kanal
|
|
17
17
|
|
18
18
|
def register_parameters(core)
|
19
19
|
core.register_input_parameter :tg_message, readonly: true
|
20
|
+
core.register_input_parameter :tg_text, readonly: true
|
21
|
+
core.register_input_parameter :tg_chat_id, readonly: true
|
22
|
+
core.register_input_parameter :tg_username, readonly: true
|
23
|
+
|
24
|
+
core.register_output_parameter :tg_chat_id
|
20
25
|
core.register_output_parameter :tg_text
|
21
26
|
core.register_output_parameter :tg_reply_markup
|
27
|
+
core.register_output_parameter :tg_image_path
|
28
|
+
core.register_output_parameter :tg_audio_path
|
29
|
+
core.register_output_parameter :tg_document_path
|
22
30
|
end
|
23
31
|
|
24
32
|
def register_hooks(core)
|
@@ -27,11 +35,12 @@ module Kanal
|
|
27
35
|
end
|
28
36
|
|
29
37
|
core.hooks.attach :input_before_router do |input|
|
30
|
-
input.body = input.
|
38
|
+
input.body = input.tg_text
|
31
39
|
end
|
32
40
|
|
33
41
|
core.hooks.attach :output_before_returned do |input, output|
|
34
42
|
output.tg_text = output.body
|
43
|
+
output.tg_chat_id = input.tg_chat_id
|
35
44
|
end
|
36
45
|
end
|
37
46
|
end
|
@@ -26,17 +26,48 @@ module Kanal
|
|
26
26
|
input = @core.create_input
|
27
27
|
|
28
28
|
input.tg_message = message
|
29
|
+
input.tg_text = message.text
|
30
|
+
input.tg_chat_id = message.chat.id
|
31
|
+
input.tg_username = message.try(:chat).try(:username) || input.tg_message.try(:from).try(:username)
|
29
32
|
|
30
33
|
output = router.create_output_for_input input
|
31
34
|
|
32
35
|
bot.api.send_message(
|
33
|
-
chat_id:
|
36
|
+
chat_id: output.tg_chat_id,
|
34
37
|
text: output.tg_text,
|
35
38
|
reply_markup: output.tg_reply_markup
|
36
39
|
)
|
40
|
+
|
41
|
+
image_path = output.tg_image_path
|
42
|
+
|
43
|
+
if image_path && File.exist?(image_path)
|
44
|
+
bot.api.send_photo(
|
45
|
+
chat_id: message.chat.id,
|
46
|
+
photo: Faraday::UploadIO.new(image_path, guess_mimetype(image_path))
|
47
|
+
)
|
48
|
+
end
|
37
49
|
end
|
38
50
|
end
|
39
51
|
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def guess_mimetype(filename)
|
56
|
+
images = {
|
57
|
+
"image/jpeg" => %w[jpg jpeg],
|
58
|
+
"image/png" => ["png"],
|
59
|
+
"image/bmp" => ["bmp"]
|
60
|
+
}
|
61
|
+
|
62
|
+
# TODO: rewrite with .find or .each
|
63
|
+
for mime, types in [images] do
|
64
|
+
for type in types do
|
65
|
+
return mime if filename.include? type
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
"application/octet-stream"
|
70
|
+
end
|
40
71
|
end
|
41
72
|
end
|
42
73
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kanal-interfaces-telegram
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- idchlife
|
@@ -47,7 +47,6 @@ files:
|
|
47
47
|
- lib/kanal/interfaces/telegram/plugins/telegram_integration_plugin.rb
|
48
48
|
- lib/kanal/interfaces/telegram/telegram_interface.rb
|
49
49
|
- lib/kanal/interfaces/telegram/version.rb
|
50
|
-
- pep.rb
|
51
50
|
- sig/kanal/interfaces/telegram.rbs
|
52
51
|
homepage: https://github.com/idchlife/kanal-interfaces-telegram
|
53
52
|
licenses:
|