vk_cozy 0.2 → 0.3.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,67 +1,67 @@
1
1
  module VkCozy
2
- class UserEventType < Inum::Base
3
- define :UNDEFINED_EVENT, -1
2
+ class UserEventType < Inum::Base
3
+ define :UNDEFINED_EVENT, -1
4
4
 
5
- define :REPLACE_MESSAGE_FLAGS, 1
6
- define :INSTALL_MESSAGE_FLAGS, 2
7
- define :RESET_MESSAGE_FLAGS, 3
5
+ define :REPLACE_MESSAGE_FLAGS, 1
6
+ define :INSTALL_MESSAGE_FLAGS, 2
7
+ define :RESET_MESSAGE_FLAGS, 3
8
8
 
9
- define :MESSAGE_NEW, 4
10
- define :MESSAGE_EDIT, 5
11
- define :IN_READ, 6
12
- define :OUT_READ, 7
13
- define :FRIEND_ONLINE, 8
14
- define :FRIEND_OFFLINE, 9
15
- define :RESET_DIALOG_FLAGS, 10
16
- define :REPLACE_DIALOG_FLAGS, 11
17
- define :INSTALL_DIALOG_FLAGS, 12
18
- define :MESSAGES_DELETE, 13
19
- define :MESSAGES_RESTORE, 14
9
+ define :MESSAGE_NEW, 4
10
+ define :MESSAGE_EDIT, 5
11
+ define :IN_READ, 6
12
+ define :OUT_READ, 7
13
+ define :FRIEND_ONLINE, 8
14
+ define :FRIEND_OFFLINE, 9
15
+ define :RESET_DIALOG_FLAGS, 10
16
+ define :REPLACE_DIALOG_FLAGS, 11
17
+ define :INSTALL_DIALOG_FLAGS, 12
18
+ define :MESSAGES_DELETE, 13
19
+ define :MESSAGES_RESTORE, 14
20
20
 
21
- define :MESSAGE_CHANGE, 18
22
- define :CLEAR_MESSAGE_CACHE, 19
21
+ define :MESSAGE_CHANGE, 18
22
+ define :CLEAR_MESSAGE_CACHE, 19
23
23
 
24
- define :CHANGE_MAJOR_ID, 20
25
- define :CHANGE_MINOR_ID, 21
24
+ define :CHANGE_MAJOR_ID, 20
25
+ define :CHANGE_MINOR_ID, 21
26
26
 
27
- define :CHAT_EDIT, 51
28
- define :CHAT_INFO_EDIT, 52
29
- define :DIALOG_TYPING_STATE, 61
27
+ define :CHAT_EDIT, 51
28
+ define :CHAT_INFO_EDIT, 52
29
+ define :DIALOG_TYPING_STATE, 61
30
30
 
31
- define :CHAT_TYPING_STATE, 62
32
- define :USERS_TYPING_STATE, 63
33
- define :CHAT_VOICE_MESSAGE_STATES, 64
34
- define :PHOTO_UPLOAD_STATE, 65
35
- define :VIDEO_UPLOAD_STATE, 66
36
- define :FILE_UPLOAD_STAE, 67
31
+ define :CHAT_TYPING_STATE, 62
32
+ define :USERS_TYPING_STATE, 63
33
+ define :CHAT_VOICE_MESSAGE_STATES, 64
34
+ define :PHOTO_UPLOAD_STATE, 65
35
+ define :VIDEO_UPLOAD_STATE, 66
36
+ define :FILE_UPLOAD_STAE, 67
37
37
 
38
- define :CALL, 70
39
- define :COUNTER, 80
40
- define :USER_INVISIBLE_CHANGE, 81
41
- define :NOTIFICATIONS_SETTINGS_CHANGED, 114
42
- define :CHAT_CALL, 115
43
- define :CALLBACK_BUTTON_REPLY, 119
44
- end
38
+ define :CALL, 70
39
+ define :COUNTER, 80
40
+ define :USER_INVISIBLE_CHANGE, 81
41
+ define :NOTIFICATIONS_SETTINGS_CHANGED, 114
42
+ define :CHAT_CALL, 115
43
+ define :CALLBACK_BUTTON_REPLY, 119
44
+ end
45
45
 
46
- MESSAGE_EXTRA_FIELDS = [
47
- 'peer_id', 'timestamp', 'text', 'extra_values', 'attachments', 'random_id'
48
- ]
49
- MSGID = 'message_id'
50
- EVENT_ATTRS_MAPPING = {
51
- VkCozy::UserEventType::REPLACE_MESSAGE_FLAGS => [MSGID, 'flags'] + MESSAGE_EXTRA_FIELDS,
52
- VkCozy::UserEventType::INSTALL_MESSAGE_FLAGS => [MSGID, 'mask'] + MESSAGE_EXTRA_FIELDS,
53
- VkCozy::UserEventType::RESET_MESSAGE_FLAGS => [MSGID, 'mask'] + MESSAGE_EXTRA_FIELDS,
54
- VkCozy::UserEventType::MESSAGE_NEW => [MSGID, 'flags'] + MESSAGE_EXTRA_FIELDS,
55
- VkCozy::UserEventType::MESSAGE_EDIT => [MSGID, 'mask'] + MESSAGE_EXTRA_FIELDS,
56
- VkCozy::UserEventType::IN_READ => ['peer_id', 'local_id'],
57
- VkCozy::UserEventType::OUT_READ => ['peer_id', 'local_id'],
58
- VkCozy::UserEventType::FRIEND_ONLINE => ['user_id', 'extra', 'timestamp'],
59
- VkCozy::UserEventType::FRIEND_OFFLINE => ['user_id', 'flags', 'timestamp'],
60
- VkCozy::UserEventType::DIALOG_TYPING_STATE => ['user_id', 'flags']
61
- }
62
- PARSE_PEER_ID_EVENTS = EVENT_ATTRS_MAPPING.map{|k, v| if v.include?('peer_id') then k end}.select{ |i| not i.nil? }
63
- PARSE_MESSAGE_FLAGS_EVENTS = [
64
- VkCozy::UserEventType::REPLACE_MESSAGE_FLAGS,
65
- VkCozy::UserEventType::MESSAGE_NEW
66
- ]
46
+ MESSAGE_EXTRA_FIELDS = [
47
+ 'peer_id', 'timestamp', 'text', 'extra_values', 'attachments', 'random_id'
48
+ ]
49
+ MSGID = 'message_id'
50
+ EVENT_ATTRS_MAPPING = {
51
+ VkCozy::UserEventType::REPLACE_MESSAGE_FLAGS => [MSGID, 'flags'] + MESSAGE_EXTRA_FIELDS,
52
+ VkCozy::UserEventType::INSTALL_MESSAGE_FLAGS => [MSGID, 'mask'] + MESSAGE_EXTRA_FIELDS,
53
+ VkCozy::UserEventType::RESET_MESSAGE_FLAGS => [MSGID, 'mask'] + MESSAGE_EXTRA_FIELDS,
54
+ VkCozy::UserEventType::MESSAGE_NEW => [MSGID, 'flags'] + MESSAGE_EXTRA_FIELDS,
55
+ VkCozy::UserEventType::MESSAGE_EDIT => [MSGID, 'mask'] + MESSAGE_EXTRA_FIELDS,
56
+ VkCozy::UserEventType::IN_READ => ['peer_id', 'local_id'],
57
+ VkCozy::UserEventType::OUT_READ => ['peer_id', 'local_id'],
58
+ VkCozy::UserEventType::FRIEND_ONLINE => ['user_id', 'extra', 'timestamp'],
59
+ VkCozy::UserEventType::FRIEND_OFFLINE => ['user_id', 'flags', 'timestamp'],
60
+ VkCozy::UserEventType::DIALOG_TYPING_STATE => ['user_id', 'flags']
61
+ }
62
+ PARSE_PEER_ID_EVENTS = EVENT_ATTRS_MAPPING.map{|k, v| if v.include?('peer_id') then k end}.select{ |i| not i.nil? }
63
+ PARSE_MESSAGE_FLAGS_EVENTS = [
64
+ VkCozy::UserEventType::REPLACE_MESSAGE_FLAGS,
65
+ VkCozy::UserEventType::MESSAGE_NEW
66
+ ]
67
67
  end
data/lib/vk_cozy/user.rb CHANGED
@@ -4,34 +4,45 @@ require_relative 'framework/labeler/user'
4
4
  require_relative 'polling/user_polling'
5
5
 
6
6
  module VkCozy
7
- class User
8
- attr_reader :api
7
+ class User
8
+ attr_reader :api
9
9
 
10
- def initialize(access_token, version=5.92, api=nil)
11
- @access_token = access_token
12
- if api.nil?
13
- @api = Api.new(access_token, version)
14
- else
15
- @api = api
16
- end
17
- @polling = VkCozy::UserPolling.new(@api)
18
- @labeler = VkCozy::UserLabeler.new(@api)
19
- end
10
+ def initialize(access_token, version=5.92)
11
+ @access_token = access_token
12
+ @api = Api.new(access_token, version)
13
+
14
+ @polling = VkCozy::UserPolling.new(@api)
15
+ @labeler = VkCozy::UserLabeler.new(@api)
16
+ end
20
17
 
21
- def on
22
- return @labeler
23
- end
18
+ def on
19
+ return @labeler
20
+ end
24
21
 
25
- def run_polling
26
- @polling.listen do |event|
27
- for update in event['updates']
28
- begin
29
- @labeler.filter(update)
30
- rescue Exception => e
31
- raise e
32
- end
33
- end
34
- end
35
- end
36
- end
22
+ def on_startup
23
+ puts 'Run polling'
24
+ end
25
+
26
+ def run_polling(startup=nil)
27
+ if startup.nil?
28
+ on_startup
29
+ elsif startup.is_a?(Proc)
30
+ startup.call
31
+ else
32
+ startup
33
+ end
34
+
35
+ @polling.listen do |event|
36
+ for update in event['updates']
37
+ begin
38
+ if @labeler.filter(update)
39
+ next
40
+ end
41
+ rescue Exception => e
42
+ raise e
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
37
48
  end
data/lib/vk_cozy.rb CHANGED
@@ -5,4 +5,4 @@ require 'hash_dot'
5
5
  require_relative 'vk_cozy/api/api'
6
6
  require_relative 'vk_cozy/bot'
7
7
  require_relative 'vk_cozy/user'
8
- require_relative 'vk_cozy\framework\labeler\filters\filters'
8
+ require_relative 'vk_cozy/framework/labeler/filters/filters'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vk_cozy
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danil Konenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-10 00:00:00.000000000 Z
11
+ date: 2022-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inum
@@ -52,7 +52,8 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- description: framework for Vk.api
55
+ description: vk_cozy является фреймворком для vk api, имеет удобные хэндлеры и фильтры,
56
+ создан чтобы упростить разработку ботов для вк
56
57
  email: googloldanil@gmail.com
57
58
  executables: []
58
59
  extensions: []
@@ -62,6 +63,10 @@ files:
62
63
  - lib/vk_cozy.rb
63
64
  - lib/vk_cozy/api/api.rb
64
65
  - lib/vk_cozy/bot.rb
66
+ - lib/vk_cozy/dev/keyboard/action.rb
67
+ - lib/vk_cozy/dev/keyboard/button.rb
68
+ - lib/vk_cozy/dev/keyboard/color.rb
69
+ - lib/vk_cozy/dev/keyboard/keyboard.rb
65
70
  - lib/vk_cozy/dispatch/views/bot/event.rb
66
71
  - lib/vk_cozy/dispatch/views/user/event.rb
67
72
  - lib/vk_cozy/framework/labeler/bot.rb
@@ -84,7 +89,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
89
  requirements:
85
90
  - - ">="
86
91
  - !ruby/object:Gem::Version
87
- version: '0'
92
+ version: 2.7.0
88
93
  required_rubygems_version: !ruby/object:Gem::Requirement
89
94
  requirements:
90
95
  - - ">="
@@ -94,5 +99,5 @@ requirements: []
94
99
  rubygems_version: 3.3.7
95
100
  signing_key:
96
101
  specification_version: 4
97
- summary: Vk.com API Client
102
+ summary: vk_cozy framework for vk-api
98
103
  test_files: []