telegem 3.0.2 → 3.0.3

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: 64bb85f867c4942c01739bc28cb7614200c8ba72abc6fa9faff664b3e68602e5
4
- data.tar.gz: e3361d135c6abfe078260b636686803f16a50669b20129b9fbc33cd61a44fcae
3
+ metadata.gz: dc9031982499124e1b520cde96b341b071a695917a57804cd9375d513dcf4bf1
4
+ data.tar.gz: d8b52c0273d048631d8858c5e098e070ac947f3fac222e6c20eb787b69663b59
5
5
  SHA512:
6
- metadata.gz: fa422a19f9a163535954598a56ac0cebb6d2e54e224d32154accd53215ee6a093b13a9eb47b86ae9b6fd3fdd897ae9941fbcd5279f4535ca6b2a1abcab623042
7
- data.tar.gz: a34e95f5d22126bac3fce4acadc31eb7290ff104bd1164358e572b5677fc554aa644021ac25b891f4d052210e0b089a02172d61d1324c912e26dd3dc0a81acdf
6
+ metadata.gz: c442335bb33c72fad402ccc1dd1a8a759b6dbd44542794f5413eb9b7cb8966909a2075668adc0b3323a14b66a317d4301d93ff3723d9b6424c6a00656fcf8028
7
+ data.tar.gz: 298852f385e908d858d4a19e464fdda29b54647fac22e4080a965c0d237b71e39c7d699e26060612682895a676a8fa0ca7a1286a47ef53870d0588f60b8b7916
data/lib/core/bot.rb CHANGED
@@ -124,11 +124,10 @@ module Telegem
124
124
  end
125
125
 
126
126
  if @running
127
- # Schedule next poll in NEW async context
128
- Async { |task|
129
- task.sleep(1)
127
+
128
+ sleep 1
130
129
  poll_loop
131
- }
130
+
132
131
  end
133
132
  end
134
133
  end
@@ -152,11 +152,16 @@ module Telegem
152
152
  end
153
153
 
154
154
  def to_h
155
- {
156
- inline_keyboard: @buttons.map { |row| row.is_a?(Array) ? row : [row] }
157
- }
158
- end
159
-
155
+ # Keep only hash buttons
156
+ clean_rows = @buttons.map do |row|
157
+ row = row.is_a?(Array) ? row : [row]
158
+ row.select { |btn| btn.is_a?(Hash) }
159
+ end.reject(&:empty?)
160
+
161
+ {
162
+ inline_keyboard: clean_rows
163
+ }
164
+ end
160
165
  def to_json(*args)
161
166
  to_h.to_json(*args)
162
167
  end
@@ -230,7 +235,7 @@ module Telegem
230
235
  elsif buttons.any?
231
236
  @keyboard.row(*buttons)
232
237
  else
233
- @keyboard.row
238
+ @keyboard.row([])
234
239
  end
235
240
  self
236
241
  end
data/lib/telegem.rb CHANGED
@@ -3,7 +3,7 @@ require 'logger'
3
3
  require 'json'
4
4
 
5
5
  module Telegem
6
- VERSION = "3.0.2".freeze
6
+ VERSION = "3.0.3".freeze
7
7
  end
8
8
 
9
9
  # Load core components
@@ -78,6 +78,6 @@ end
78
78
  # Optional global shortcut (enabled by env var)
79
79
  if ENV['TELEGEM_GLOBAL'] == 'true'
80
80
  def Telegem(token, **options)
81
- Telegem.new(token, **options)
81
+ ::Telegem.new(token, **options)
82
82
  end
83
83
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: telegem
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - sick_phantom
@@ -217,7 +217,7 @@ metadata:
217
217
  bug_tracker_uri: https://gitlab.com/ruby-telegem/telegem/-/issues
218
218
  documentation_uri: https://gitlab.com/ruby-telegem/telegem/-/tree/main/docs-src?ref_type=heads
219
219
  rubygems_mfa_required: 'false'
220
- post_install_message: "Thanks for installing Telegem 3.0.2!\n\n\U0001F4DA Documentation:
220
+ post_install_message: "Thanks for installing Telegem 3.0.3!\n\n\U0001F4DA Documentation:
221
221
  https://gitlab.com/ruby-telegem/telegem\n\n\U0001F510 For SSL Webhooks:\nRun: telegem-ssl
222
222
  your-domain.com\nThis sets up Let's Encrypt certificates automatically.\n\n\U0001F916
223
223
  Happy bot building!\n"