vk_cozy 0.2 → 0.3.8

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.
@@ -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: []