1
0
зеркало из https://github.com/glebtv/telegram-bot.git synced 2026-08-28 15:26:18 +03:00

Сравнить коммиты

..

4 Коммитов

Автор SHA1 Сообщение Дата
Max Melentiev
cb973d90dc Update to Bot API 8.2 2025-01-14 22:52:59 -05:00
Max Melentiev
7c3002266a Fix poller rake task for Rails 8.0 2025-01-02 22:13:01 -05:00
Max Melentiev
814c4e7d1a v0.16.5 2024-11-27 23:59:24 -05:00
Max Melentiev
42b98dbf40 Update rails (#251)
* Rails 8.0 support

* Update to Bot API 8.0
2024-11-28 04:58:34 +00:00
13 изменённых файлов: 113 добавлений и 30 удалений

2
.github/workflows/ci.yml поставляемый
Просмотреть файл

@@ -26,6 +26,8 @@ jobs:
- gemfiles/rails_51.gemfile
include:
# ruby 3.x
- ruby: '3.2'
gemfile: gemfiles/rails_80.gemfile
- ruby: '3.2'
gemfile: gemfiles/rails_72.gemfile
- ruby: '3.2'

Просмотреть файл

@@ -1,5 +1,10 @@
# frozen_string_literal: true
appraise 'rails-80' do
gem 'actionpack', '~> 8.0.0'
gem 'railties', '~> 8.0.0'
end
appraise 'rails-72' do
gem 'actionpack', '~> 7.2.0'
gem 'railties', '~> 7.2.0'

Просмотреть файл

@@ -1,5 +1,18 @@
# Unreleased
# 0.16.7
- Update to Bot API 8.2
# 0.16.6
- Fix poller rake task for Rails 8.0
# 0.16.5
- Rails 8.0 support
- Update to Bot API 8.0
# 0.16.4
- Rails 7.2 support

Просмотреть файл

@@ -41,3 +41,24 @@ puts result_txt
API_METHODS_FILE = File.expand_path('../lib/telegram/bot/client/api_methods.txt', __dir__).freeze
File.write(API_METHODS_FILE, result_txt)
puts '', "Updated #{API_METHODS_FILE}"
puts '', 'Payload types:'
update_tbody = doc.css('tbody').
find { |tbody| tbody.css('td').any? { |td| td.text == 'update_id' } }
payload_types = update_tbody.css('td:first-child').map(&:text).reject { |x| x == 'update_id' }
result = ['# Generated with bin/fetch-telegram-methods']
result << "# #{api_version[1]}" if api_version
result << payload_types.join("\n")
result << ''
result_txt = result.join("\n")
puts result_txt
PAYLOAD_TYPES_FILE = File.expand_path(
'../lib/telegram/bot/updates_controller/payload_types.txt',
__dir__,
).freeze
File.write(PAYLOAD_TYPES_FILE, result_txt)
puts '', "Updated #{PAYLOAD_TYPES_FILE}"

21
gemfiles/rails_80.gemfile Обычный файл
Просмотреть файл

@@ -0,0 +1,21 @@
# This file was generated by Appraisal
source "https://rubygems.org"
gem "actionpack", "~> 8.0.0"
gem "railties", "~> 8.0.0"
group :development do
gem "appraisal", "~> 2.2"
gem "debug", "~> 1.9.2"
gem "sdoc", "~> 2.0.3"
gem "telegram-bot-types", "~> 0.6.3"
gem "rspec", "~> 3.12.0"
gem "rspec-its", "~> 1.3.0"
gem "rspec-rails", "~> 4.0.2"
gem "rubocop", "~> 1.59.0"
gem "rubocop-rails", "~> 2.23.1"
gem "coveralls", "~> 0.8.23", require: false
end
gemspec path: "../"

Просмотреть файл

@@ -15,6 +15,9 @@ namespace :telegram do
Rails.logger.extend ActiveSupport::Logger.broadcast console
end
end
# Routes are not loaded by default in Rails >= 8.0.
# Load them explicitly to identify a controller for a bot.
Rails.application.try(:reload_routes_unless_loaded)
Telegram::Bot::UpdatesPoller.start(ENV['BOT']&.to_sym || :default)
end

Просмотреть файл

@@ -1,5 +1,5 @@
# Generated with bin/fetch-telegram-methods
# Bot API 7.9
# Bot API 8.2
getUpdates
setWebhook
@@ -31,6 +31,7 @@ sendDice
sendChatAction
setMessageReaction
getUserProfilePhotos
setUserEmojiStatus
getFile
banChatMember
unbanChatMember
@@ -118,9 +119,16 @@ setStickerSetTitle
setStickerSetThumbnail
setCustomEmojiStickerSetThumbnail
deleteStickerSet
getAvailableGifts
sendGift
verifyUser
verifyChat
removeUserVerification
removeChatVerification
answerInlineQuery
answerWebAppQuery
savePreparedInlineMessage
sendInvoice
createInvoiceLink
@@ -128,6 +136,7 @@ answerShippingQuery
answerPreCheckoutQuery
getStarTransactions
refundStarPayment
editUserStarSubscription
setPassportDataErrors

Просмотреть файл

@@ -89,31 +89,13 @@ module Telegram
extend Session::ConfigMethods
PAYLOAD_TYPES = Set.new(%w[
message
edited_message
channel_post
edited_channel_post
business_connection
business_message
edited_business_message
deleted_business_messages
message_reaction
message_reaction_count
inline_query
chosen_inline_result
callback_query
shipping_query
pre_checkout_query
poll
poll_answer
my_chat_member
chat_member
chat_join_request
chat_boost
removed_chat_boost
pre_checkout_query
].freeze)
PAYLOAD_TYPES_FILE = File.expand_path('updates_controller/payload_types.txt', __dir__)
PAYLOAD_TYPES = File.read(PAYLOAD_TYPES_FILE).
lines.
map(&:strip).
reject { |x| x.empty? || x.start_with?('#') }.
to_set.
freeze
class << self
# Initialize controller and process update.

Просмотреть файл

@@ -0,0 +1,25 @@
# Generated with bin/fetch-telegram-methods
# Bot API 8.2
message
edited_message
channel_post
edited_channel_post
business_connection
business_message
edited_business_message
deleted_business_messages
message_reaction
message_reaction_count
inline_query
chosen_inline_result
callback_query
shipping_query
pre_checkout_query
purchased_paid_media
poll
poll_answer
my_chat_member
chat_member
chat_join_request
chat_boost
removed_chat_boost

Просмотреть файл

@@ -2,7 +2,7 @@
module Telegram
module Bot
VERSION = '0.16.4'
VERSION = '0.16.7'
def self.gem_version
Gem::Version.new VERSION

Просмотреть файл

@@ -15,7 +15,8 @@ ENV['RAILS_ENV'] = 'test'
class TestApplication < Rails::Application
config.eager_load = false
config.log_level = :debug
if ActionPack::VERSION::MAJOR >= 7 && ActionPack::VERSION::MINOR >= 2
if (ActionPack::VERSION::MAJOR >= 8) ||
(ActionPack::VERSION::MAJOR == 7 && ActionPack::VERSION::MINOR >= 2)
config.action_dispatch.show_exceptions = :none
else
config.action_dispatch.show_exceptions = false

Просмотреть файл

@@ -28,6 +28,7 @@ RSpec.describe Telegram::Bot::UpdatesController::TypedUpdate do
message_reaction_count
chat_boost
removed_chat_boost
purchased_paid_media
pre_checkout_query
]).
map { |x| [x, Telegram::Bot::Types.const_get(x.camelize)] }.to_h.

Просмотреть файл

@@ -25,8 +25,8 @@ Gem::Specification.new do |spec|
spec.required_ruby_version = '>= 2.4'
spec.add_dependency 'actionpack', '>= 4.0', '< 7.3'
spec.add_dependency 'activesupport', '>= 4.0', '< 7.3'
spec.add_dependency 'actionpack', '>= 4.0', '< 8.1'
spec.add_dependency 'activesupport', '>= 4.0', '< 8.1'
spec.add_dependency 'httpclient', '~> 2.7'
spec.add_development_dependency 'bundler', '> 1.16'