vkontakte_client 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/Gemfile +4 -0
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/examples/accept_all_requests.rb +2 -2
- data/examples/friends_of_friends.rb +0 -2
- data/examples/long_poll.rb +0 -1
- data/examples/remove_out_requests.rb +1 -1
- data/lib/vkontakte/api.rb +3 -3
- data/lib/vkontakte/client.rb +29 -21
- data/lib/vkontakte/version.rb +1 -1
- data/vkontakte_client.gemspec +1 -4
- metadata +4 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 365e64b86f80c85db718b455f7c211cfe2638a13246a129053017eca0493602a
|
4
|
+
data.tar.gz: eba8db9f623c92d138f9c06fab19d80e3383900638853fda2f9062ca34fc52f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ede0fd21608c56d6cb994537274541138eb1e3006da0476baa7ed106b76fe3ea8195b1d5eb67fa6d63816aef92055e8ad51f8c74f5fefbfff44e0e8440f530a
|
7
|
+
data.tar.gz: bab79e14426ea0634ee6644533c239344dfd43b1eac3eb95b34ed7b6d633a9794a67354c77757d4b1f62cf8f3c1d37aa2d201c3c87def558e43522f441e98ae4
|
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -97,6 +97,6 @@ api.friends_get(fields: 'online', order: 'name', name_case: 'dat')
|
|
97
97
|
|
98
98
|
## License
|
99
99
|
|
100
|
-
Copyright: 2010-
|
100
|
+
Copyright: 2010-2023 Anton Maminov (anton.maminov@gmail.com)
|
101
101
|
|
102
102
|
This library is distributed under the MIT license. Please see the LICENSE file.
|
@@ -26,10 +26,10 @@ if $PROGRAM_NAME == __FILE__
|
|
26
26
|
user_ids.each do |user_id|
|
27
27
|
print "Accept user with id `#{user_id}`"
|
28
28
|
begin
|
29
|
-
vk_api.friends_add(user_id:
|
29
|
+
vk_api.friends_add(user_id:)
|
30
30
|
puts ' - OK'
|
31
31
|
rescue Vkontakte::API::Error => e
|
32
|
-
vk_api.account_banUser(user_id:
|
32
|
+
vk_api.account_banUser(user_id:) if e.error_code == 177
|
33
33
|
puts ' - Skip'
|
34
34
|
end
|
35
35
|
end
|
data/examples/long_poll.rb
CHANGED
@@ -21,7 +21,7 @@ if $PROGRAM_NAME == __FILE__
|
|
21
21
|
offset = 0
|
22
22
|
|
23
23
|
loop do
|
24
|
-
fr = vk.api.friends_getRequests(count
|
24
|
+
fr = vk.api.friends_getRequests(count:, offset: offset * count, out: 1)['items']
|
25
25
|
break if fr.empty?
|
26
26
|
|
27
27
|
out_requests << fr
|
data/lib/vkontakte/api.rb
CHANGED
@@ -61,14 +61,14 @@ module Vkontakte
|
|
61
61
|
uri.port,
|
62
62
|
@proxy.addr,
|
63
63
|
@proxy.port,
|
64
|
-
use_ssl
|
64
|
+
use_ssl:,
|
65
65
|
read_timeout: timeout,
|
66
66
|
open_timeout: timeout
|
67
67
|
) do |http|
|
68
68
|
http.request(request)
|
69
69
|
end
|
70
70
|
elsif @proxy.socks?
|
71
|
-
Net::HTTP.SOCKSProxy(@proxy.addr, @proxy.port).start(uri.hostname, uri.port, use_ssl:
|
71
|
+
Net::HTTP.SOCKSProxy(@proxy.addr, @proxy.port).start(uri.hostname, uri.port, use_ssl:) do |http|
|
72
72
|
http.request(request)
|
73
73
|
end
|
74
74
|
end
|
@@ -76,7 +76,7 @@ module Vkontakte
|
|
76
76
|
Net::HTTP.start(
|
77
77
|
uri.hostname,
|
78
78
|
uri.port,
|
79
|
-
use_ssl
|
79
|
+
use_ssl:,
|
80
80
|
read_timeout: timeout,
|
81
81
|
open_timeout: timeout
|
82
82
|
) do |http|
|
data/lib/vkontakte/client.rb
CHANGED
@@ -35,22 +35,13 @@ module Vkontakte
|
|
35
35
|
|
36
36
|
query = {
|
37
37
|
client_id: @client_id,
|
38
|
-
redirect_uri
|
39
|
-
display
|
38
|
+
redirect_uri:,
|
39
|
+
display:,
|
40
40
|
scope: permissions,
|
41
|
-
response_type
|
41
|
+
response_type:,
|
42
42
|
v: api_version
|
43
43
|
}
|
44
44
|
|
45
|
-
agent = Mechanize.new do |a|
|
46
|
-
a.user_agent_alias = 'Linux Firefox'
|
47
|
-
a.follow_meta_refresh
|
48
|
-
a.log = Logger.new($stdout) if @log
|
49
|
-
|
50
|
-
a.agent.set_socks(@proxy.addr, @proxy.port) if @proxy&.socks?
|
51
|
-
a.agent.set_proxy(@proxy.addr, @proxy.port) if @proxy&.http?
|
52
|
-
end
|
53
|
-
|
54
45
|
# Opening Authorization Dialog
|
55
46
|
#
|
56
47
|
query_string = query.map { |k, v| "#{k}=#{v}" }.join('&')
|
@@ -76,17 +67,19 @@ module Vkontakte
|
|
76
67
|
|
77
68
|
private
|
78
69
|
|
79
|
-
def
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
query_params = URI.decode_www_form(page.uri.query).to_h
|
85
|
-
authorize_url = CGI.unescape(query_params['authorize_url'])
|
70
|
+
def agent
|
71
|
+
@agent ||= Mechanize.new do |a|
|
72
|
+
a.user_agent = 'Opera/9.80 (Android; Opera Mini/7.5.33942/191.308; U; en) Presto/2.12.423 Version/12.16'
|
73
|
+
a.follow_meta_refresh
|
74
|
+
a.log = Logger.new($stdout) if @log
|
86
75
|
|
87
|
-
|
76
|
+
a.agent.set_socks(@proxy.addr, @proxy.port) if @proxy&.socks?
|
77
|
+
a.agent.set_proxy(@proxy.addr, @proxy.port) if @proxy&.http?
|
78
|
+
end
|
79
|
+
end
|
88
80
|
|
89
|
-
|
81
|
+
def initialize_vkontakte_api(auth_params)
|
82
|
+
return @api if authorized?
|
90
83
|
|
91
84
|
@access_token = auth_params[:access_token]
|
92
85
|
@user_id = auth_params[:user_id]
|
@@ -98,6 +91,21 @@ module Vkontakte
|
|
98
91
|
api_version: @api_version,
|
99
92
|
timeout: @timeout
|
100
93
|
)
|
94
|
+
end
|
95
|
+
|
96
|
+
def get_token(page)
|
97
|
+
auth_regexp = /access_token=(?<access_token>.*)&expires_in=(?<expires_in>\d+)&user_id=(?<user_id>\d*)\z/
|
98
|
+
|
99
|
+
return false unless page.uri.path == '/auth_redirect'
|
100
|
+
|
101
|
+
query_params = URI.decode_www_form(page.uri.query).to_h
|
102
|
+
authorize_url = CGI.unescape(query_params['authorize_url'])
|
103
|
+
|
104
|
+
auth_params = authorize_url.match(auth_regexp)
|
105
|
+
|
106
|
+
return false unless auth_params
|
107
|
+
|
108
|
+
initialize_vkontakte_api(auth_params)
|
101
109
|
|
102
110
|
@authorize = true
|
103
111
|
|
data/lib/vkontakte/version.rb
CHANGED
data/vkontakte_client.gemspec
CHANGED
@@ -13,14 +13,11 @@ Gem::Specification.new do |gem|
|
|
13
13
|
|
14
14
|
gem.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
15
15
|
gem.files = `git ls-files`.split("\n")
|
16
|
-
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
16
|
gem.name = 'vkontakte_client'
|
18
17
|
gem.require_paths = ['lib']
|
19
18
|
gem.version = Vkontakte::VERSION
|
20
|
-
gem.required_ruby_version = '>= 2.
|
19
|
+
gem.required_ruby_version = '>= 3.2.0'
|
21
20
|
gem.add_runtime_dependency 'mechanize', '~> 2.8', '>= 2.8.0'
|
22
21
|
gem.add_runtime_dependency 'socksify', '~> 1.7', '>= 1.7.0'
|
23
|
-
gem.add_development_dependency 'pry', '~> 0.14', '>= 0.14.0'
|
24
|
-
gem.add_development_dependency 'rubocop', '~> 1.18', '>= 1.18.0'
|
25
22
|
gem.metadata['rubygems_mfa_required'] = 'true'
|
26
23
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vkontakte_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anton Maminov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mechanize
|
@@ -50,46 +50,6 @@ dependencies:
|
|
50
50
|
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: 1.7.0
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: pry
|
55
|
-
requirement: !ruby/object:Gem::Requirement
|
56
|
-
requirements:
|
57
|
-
- - "~>"
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
version: '0.14'
|
60
|
-
- - ">="
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 0.14.0
|
63
|
-
type: :development
|
64
|
-
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - "~>"
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0.14'
|
70
|
-
- - ">="
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
version: 0.14.0
|
73
|
-
- !ruby/object:Gem::Dependency
|
74
|
-
name: rubocop
|
75
|
-
requirement: !ruby/object:Gem::Requirement
|
76
|
-
requirements:
|
77
|
-
- - "~>"
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: '1.18'
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 1.18.0
|
83
|
-
type: :development
|
84
|
-
prerelease: false
|
85
|
-
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '1.18'
|
90
|
-
- - ">="
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version: 1.18.0
|
93
53
|
description: VKontakte API Client for Ruby
|
94
54
|
email:
|
95
55
|
- anton.maminov@gmail.com
|
@@ -137,14 +97,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
137
97
|
requirements:
|
138
98
|
- - ">="
|
139
99
|
- !ruby/object:Gem::Version
|
140
|
-
version: 2.
|
100
|
+
version: 3.2.0
|
141
101
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
102
|
requirements:
|
143
103
|
- - ">="
|
144
104
|
- !ruby/object:Gem::Version
|
145
105
|
version: '0'
|
146
106
|
requirements: []
|
147
|
-
rubygems_version: 3.
|
107
|
+
rubygems_version: 3.4.14
|
148
108
|
signing_key:
|
149
109
|
specification_version: 4
|
150
110
|
summary: Unofficial VKontakte API Client for Ruby
|