dialog_ruby 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/Gemfile +0 -0
- data/_dev/get_full_botapi.rb +59 -0
- data/_dev/inlinekb_pubsub.rb +69 -0
- data/_dev/main.rb +127 -0
- data/_dev/restriction.rb +32 -0
- data/_dev/ru.yml +79 -0
- data/_dev/sidekiq.rb +28 -0
- data/_dev/tdlib.rb +154 -0
- data/dialog.sh +51 -0
- data/dialog_ruby.gemspec +41 -0
- data/lib/architecture.md +22 -0
- data/lib/configuration.rb +117 -0
- data/lib/dialogStart.rb +189 -0
- data/lib/dialog_ruby.rb +59 -0
- data/lib/exec.sh +61 -0
- data/lib/exec_conf/cli_config +7 -0
- data/lib/exec_conf/dialog__sync.service +14 -0
- data/lib/exec_conf/dialog__sync.timer +11 -0
- data/lib/exec_conf/dialog_bot@.path +6 -0
- data/lib/exec_conf/dialog_bot@.service +18 -0
- data/lib/exec_conf/dialog_bot_dev@.path +6 -0
- data/lib/exec_conf/dialog_bot_dev_pre@.service +16 -0
- data/lib/exec_conf/dialog_bot_pre@.service +16 -0
- data/lib/exec_conf/dialog_redis@.service +14 -0
- data/lib/exec_conf/post-merge +5 -0
- data/lib/exec_conf/redis_global.conf +49 -0
- data/lib/exec_conf/redis_local.conf +4 -0
- data/lib/lang/global_ru.yml +29 -0
- data/lib/lib/dialect/canvas/canvas.rb +35 -0
- data/lib/lib/dialect/canvas/element/convert/SearchBaloo.rb +45 -0
- data/lib/lib/dialect/canvas/element/data/search.rb +34 -0
- data/lib/lib/dialect/canvas/element/send/Inline_query_result.rb +32 -0
- data/lib/lib/dialect/canvas/element/send/bot_message.rb +38 -0
- data/lib/lib/dialect/canvas/element/send/keyboards.rb +59 -0
- data/lib/lib/dialect/canvas/element/send/recognize.rb +51 -0
- data/lib/lib/dialect/canvas/element/send/restrict.rb +42 -0
- data/lib/lib/dialect/canvas/element/send/tdlib_chat.rb +33 -0
- data/lib/lib/dialect/canvas/element/send/tdlib_message.rb +38 -0
- data/lib/lib/dialect/canvas/mod/send/_Inline_query_result.rb +38 -0
- data/lib/lib/dialect/canvas/mod/send/_keyboards.rb +40 -0
- data/lib/lib/dialect/canvas/mod/send/func.rb +98 -0
- data/lib/lib/dialect/canvas/mod/send/general/_heads.rb +27 -0
- data/lib/lib/dialect/canvas/mod/send/general/chat.rb +38 -0
- data/lib/lib/dialect/canvas/mod/send/general/common.rb +32 -0
- data/lib/lib/dialect/canvas/mod/send/general/message.rb +37 -0
- data/lib/lib/dialect/canvas/mod/send/general/user.rb +36 -0
- data/lib/lib/dialect/canvas/mod/send/inline_query_result/common.rb +36 -0
- data/lib/lib/dialect/codegen/codegen.rb +74 -0
- data/lib/lib/dialect/codegen/erb/data/1.ModReceive2GetData.erb +27 -0
- data/lib/lib/dialect/codegen/erb/data/2.GetData2Elements.erb +27 -0
- data/lib/lib/dialect/codegen/erb/data/3.GenData2Dest.erb +34 -0
- data/lib/lib/dialect/codegen/erb/functional/1.Expect2Events.erb +37 -0
- data/lib/lib/dialect/codegen/erb/functional/2.1.Events2AppEvent.erb +26 -0
- data/lib/lib/dialect/codegen/erb/functional/2.2.1.Events2ModReceive.erb +73 -0
- data/lib/lib/dialect/codegen/erb/functional/2.2.2.ModReceive2AppEvent.erb +59 -0
- data/lib/lib/dialect/codegen/erb/functional/3.Appevent2EventBus.erb +35 -0
- data/lib/lib/dialect/codegen/erb/functional/4.1.AppEvent2Elements.erb +72 -0
- data/lib/lib/dialect/codegen/erb/functional/5.1.Element2ModElements.erb +70 -0
- data/lib/lib/dialect/codegen/erb/functional/5.2.Element2ModSend.erb +69 -0
- data/lib/lib/dialect/codegen/erb/functional/7.ElementChains.erb +91 -0
- data/lib/lib/dialect/codegen/repack/constructor/DockedGroupings2AppFunctions.rb +36 -0
- data/lib/lib/dialect/codegen/repack/constructor/Element2ModSend.rb +49 -0
- data/lib/lib/dialect/codegen/repack/constructor/ElementsInElements.rb +34 -0
- data/lib/lib/dialect/codegen/repack/functional/1.Expect2Events.rb +35 -0
- data/lib/lib/dialect/codegen/repack/functional/2.2.1.Events2ModReceive.rb +71 -0
- data/lib/lib/dialect/codegen/repack/functional/2.2.2.ModReceive2AppEvent.rb +45 -0
- data/lib/lib/dialect/codegen/repack/functional/5.1.Element2ModElements.rb +90 -0
- data/lib/lib/dialect/codegen/repack/functional/5.2.Element2ModSend.rb +60 -0
- data/lib/lib/dialect/codegen/repack/functional/7.ElementChains.rb +88 -0
- data/lib/lib/dialect/codegen/run.rb +79 -0
- data/lib/lib/metamess/_run.rb +162 -0
- data/lib/lib/metamess/content/content_o-command_f.rb +100 -0
- data/lib/lib/metamess/content/content_o-media_f.rb +149 -0
- data/lib/lib/metamess/content/content_o-simple_f.rb +35 -0
- data/lib/lib/metamess/content/content_o.rb +245 -0
- data/lib/lib/metamess/event/notify_o-chatmember_f.rb +124 -0
- data/lib/lib/metamess/event/notify_o-chattitle_f.rb +34 -0
- data/lib/lib/metamess/event/notify_o-create_f.rb +42 -0
- data/lib/lib/metamess/event/notify_o-migrate_f.rb +34 -0
- data/lib/lib/metamess/event/notify_o-pinned_f.rb +34 -0
- data/lib/lib/metamess/event/notify_o.rb +28 -0
- data/lib/lib/metamess/event_c.rb +26 -0
- data/lib/lib/metamess/func.rb +220 -0
- data/lib/lib/metamess/service/service_o-callback_f.rb +33 -0
- data/lib/lib/metamess/service/service_o-inline_f.rb +55 -0
- data/lib/lib/metamess/service/service_o.rb +26 -0
- data/lib/lib/naming.rb +130 -0
- data/lib/lib/storage/redis/redisPubSub.rb +51 -0
- data/lib/lib/storage/redis/rediscached.rb +97 -0
- data/lib/lib/tdlib/auth.rb +141 -0
- data/lib/lib/tdlib/func.rb +34 -0
- data/lib/lib/tdlib/init.rb +39 -0
- data/lib/lib/telegram/botapi.rb +71 -0
- data/lib/lib/telegram/infra_info.rb +50 -0
- data/lib/lib/telegram/wrappers.rb +41 -0
- data/lib/lib/tooling/lang.rb +24 -0
- data/lib/lib/tooling/log.rb +54 -0
- data/lib/lib/tooling/ruby.rb +25 -0
- data/lib/version.rb +3 -0
- data/logo.png +0 -0
- metadata +305 -0
@@ -0,0 +1,162 @@
|
|
1
|
+
######## ####### ######## ####### ######## ########
|
2
|
+
## / / / / License \ \ \ \
|
3
|
+
## Copyleft culture, Copyright (C) is prohibited here
|
4
|
+
## This work is licensed under a CC BY-SA 4.0
|
5
|
+
## Creative Commons Attribution-ShareAlike 4.0 License
|
6
|
+
## Refer to the http://creativecommons.org/licenses/by-sa/4.0/
|
7
|
+
######## ####### ######## ####### ######## ########
|
8
|
+
## / / / / Code Climate \ \ \ \
|
9
|
+
## Language = ruby
|
10
|
+
## Indent = space; 2 chars;
|
11
|
+
######## ####### ######## ####### ######## ########
|
12
|
+
|
13
|
+
module Dialog
|
14
|
+
module Metamess
|
15
|
+
class << self
|
16
|
+
|
17
|
+
|
18
|
+
def init(args)
|
19
|
+
args[:mmsg] = {actions: [], actionsd: {}, fqn: {}, fqndata: {}, fqnrun: {}}
|
20
|
+
nestedHash = lambda {|h,k| h[k] = Hash.new(&nestedHash)}
|
21
|
+
args[:rmsgcheck] = Hash.new
|
22
|
+
args[:metacheck] = Hash.new(&nestedHash)
|
23
|
+
end
|
24
|
+
|
25
|
+
def rmsgcheckForm(args, k1, v1, k2=true, v2=true)
|
26
|
+
vNext = true
|
27
|
+
v2 == true ? value = v1 : value = v2
|
28
|
+
value.kind_of?(Array) ? vNext = value.empty? : vNext = value.nil?
|
29
|
+
|
30
|
+
# Dialog.logger.debug "### k2 - #{k2}, value - #{value}, vNext - #{vNext}"
|
31
|
+
if v2 == true
|
32
|
+
args[:rmsgcheck][k1.to_sym] = 1 if vNext == false
|
33
|
+
else
|
34
|
+
args[:rmsgcheck][k1.to_sym][k2.to_sym] = 1 if vNext == false
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
def firstpoint(args)
|
40
|
+
Dialog.clear(args)
|
41
|
+
# args[:mmsg] = Concurrent::Hash.new
|
42
|
+
init(args)
|
43
|
+
fqnrun = {}
|
44
|
+
|
45
|
+
fqnrun[:c] = Dialog::Naming::Class.Event
|
46
|
+
case args[:rmsg].class.to_s
|
47
|
+
when 'Telegram::Bot::Types::InlineQuery'
|
48
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Service
|
49
|
+
fqnrun[:f] = Dialog::Naming::Class::Event::Order::Service::Family.Inline
|
50
|
+
fqnrun[:g] = Dialog::Naming::Class::Event::Order::Service::Family::Inline::Genus.Query
|
51
|
+
|
52
|
+
when 'Telegram::Bot::Types::ChosenInlineResult'
|
53
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Service
|
54
|
+
fqnrun[:f] = Dialog::Naming::Class::Event::Order::Service::Family.Inline
|
55
|
+
fqnrun[:g] = Dialog::Naming::Class::Event::Order::Service::Family::Inline::Genus.Cresult
|
56
|
+
|
57
|
+
when 'Telegram::Bot::Types::CallbackQuery'
|
58
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Service
|
59
|
+
fqnrun[:f] = Dialog::Naming::Class::Event::Order::Service::Family.Callback
|
60
|
+
fqnrun[:g] = Dialog::Naming::Class::Event::Order::Service::Family::Callback::Genus.Query
|
61
|
+
when 'Telegram::Bot::Types::Message'
|
62
|
+
message_identificate(args,fqnrun)
|
63
|
+
end
|
64
|
+
collect(args,fqnrun)
|
65
|
+
Dialog.logger.info("## RESULT of Metamess: #{args[:mmsg]}\n")
|
66
|
+
|
67
|
+
##needs refactor to lambda
|
68
|
+
args[:rmsg].to_h.each do |k1, v1|
|
69
|
+
unless ['NilClass', 'Array', 'Integer', 'String'].include?(v1.class.to_s)
|
70
|
+
v1.to_h.each do |k2, v2|
|
71
|
+
args[:rmsgcheck][k1.to_sym] ||= {}
|
72
|
+
rmsgcheckForm(args, k1, v1, k2, v2)
|
73
|
+
end
|
74
|
+
else
|
75
|
+
rmsgcheckForm(args, k1, v1)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
##
|
79
|
+
# Dialog.logger.debug("################## rmsgcheck - #{args[:rmsgcheck]}")
|
80
|
+
# Dialog.logger.debug("################## metacheck - #{args[:metacheck]}")
|
81
|
+
diff = args[:rmsgcheck].diff(args[:metacheck])
|
82
|
+
unless diff == {}
|
83
|
+
Dialog.logger.error("@@@@ !!!! Metacheck diff: #{diff}")
|
84
|
+
Dialog.logger.info "RAW MSG:\n#{args[:rmsg].to_hash}\n"
|
85
|
+
end
|
86
|
+
args[:metacheck] = {}
|
87
|
+
args[:rmsg] = {}
|
88
|
+
args[:perf][:metamess] = Time.now
|
89
|
+
Dialog::Canvas.run(args)
|
90
|
+
end
|
91
|
+
|
92
|
+
|
93
|
+
def message_identificate(args,fqnrun)
|
94
|
+
rmsg= args[:rmsg]
|
95
|
+
if rmsg.respond_to?(:new_chat_members) && !rmsg.new_chat_members.empty? ||
|
96
|
+
rmsg.respond_to?(:left_chat_member) && !rmsg.left_chat_member.nil?
|
97
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify
|
98
|
+
fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.ChatMember
|
99
|
+
elsif rmsg.respond_to?(:new_chat_photo) && !rmsg.new_chat_photo.empty? ||
|
100
|
+
rmsg.respond_to?(:delete_chat_photo) && !rmsg.delete_chat_photo.nil?
|
101
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify
|
102
|
+
fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.ChatPhoto
|
103
|
+
elsif rmsg.respond_to?(:new_chat_title) && !rmsg.new_chat_title.nil?
|
104
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify
|
105
|
+
fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.ChatTitle
|
106
|
+
elsif rmsg.respond_to?(:group_chat_created)&& !rmsg.group_chat_created.nil? ||
|
107
|
+
rmsg.respond_to?(:supergroup_chat_created)&& !rmsg.supergroup_chat_created.nil?
|
108
|
+
rmsg.respond_to?(:channel_chat_created) && !rmsg.channel_chat_created.nil?
|
109
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify
|
110
|
+
fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.Create
|
111
|
+
elsif rmsg.respond_to?(:migrate_to_chat_id)&& !rmsg.migrate_to_chat_id.nil? ||
|
112
|
+
rmsg.respond_to?(:migrate_from_chat_id) && !rmsg.migrate_from_chat_id.nil?
|
113
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify
|
114
|
+
fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.Migrate
|
115
|
+
elsif rmsg.respond_to?(:pinned_message) && !rmsg.pinned_message.nil?
|
116
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify
|
117
|
+
fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.Pinned
|
118
|
+
elsif rmsg.respond_to?(:connected_website) && !rmsg.connected_website.nil?
|
119
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify
|
120
|
+
fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.Login
|
121
|
+
elsif rmsg.respond_to?(:passport_data) && !rmsg.passport_data.nil?
|
122
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Notify
|
123
|
+
fqnrun[:f] = Dialog::Naming::Class::Event::Order::Notify::Family.Passport
|
124
|
+
else
|
125
|
+
fqnrun[:o] = Dialog::Naming::Class::Event::Order.Content
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
|
130
|
+
def collect(args,fqnrun)
|
131
|
+
until fqnrun.nil?
|
132
|
+
fqn = args[:mmsg][:fqn]
|
133
|
+
# Dialog.logger.debug "RUN Metamess - collect: #{fqnrun}"
|
134
|
+
|
135
|
+
if fqnrun.key?(:g) && !fqnrun.key?(:f) && !fqnrun.key?(:o) && !fqnrun.key?(:c)
|
136
|
+
run = "#{fqn[:c].to_s.capitalize}#{fqn[:o].to_s.capitalize}#{fqn[:f].to_s.capitalize}#{fqnrun[:g].to_s.capitalize}"
|
137
|
+
elsif fqnrun.key?(:f) && !fqnrun.key?(:o) && !fqnrun.key?(:c)
|
138
|
+
run = "#{fqn[:c].to_s.capitalize}#{fqn[:o].to_s.capitalize}#{fqnrun[:f].to_s.capitalize}"
|
139
|
+
elsif fqnrun.key?(:o) && !fqnrun.key?(:c)
|
140
|
+
run = "#{fqn[:c].to_s.capitalize}#{fqnrun[:o].to_s.capitalize}"
|
141
|
+
elsif fqnrun.key?(:c)
|
142
|
+
run = "#{fqnrun[:c].to_s.capitalize}"
|
143
|
+
else
|
144
|
+
Dialog.logger.error "LOST MESSAGE!! "
|
145
|
+
raise 'LostMessage'
|
146
|
+
end
|
147
|
+
|
148
|
+
run = "collect_#{run}"
|
149
|
+
# Dialog.logger.debug "RUN Metamess - begin: #{run}"
|
150
|
+
Dialog.clear(args)
|
151
|
+
args[:mmsg][:fqnrun] = fqnrun
|
152
|
+
send(run.to_sym, args)
|
153
|
+
fqnrun = args[:mmsg][:fqnrun]
|
154
|
+
Dialog.clear(args)
|
155
|
+
# Dialog.logger.debug "RUN Metamess - end: #{run}"
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
@@ -0,0 +1,100 @@
|
|
1
|
+
######## ####### ######## ####### ######## ########
|
2
|
+
## / / / / License \ \ \ \
|
3
|
+
## Copyleft culture, Copyright (C) is prohibited here
|
4
|
+
## This work is licensed under a CC BY-SA 4.0
|
5
|
+
## Creative Commons Attribution-ShareAlike 4.0 License
|
6
|
+
## Refer to the http://creativecommons.org/licenses/by-sa/4.0/
|
7
|
+
######## ####### ######## ####### ######## ########
|
8
|
+
## / / / / Code Climate \ \ \ \
|
9
|
+
## Language = ruby
|
10
|
+
## Indent = space; 2 chars;
|
11
|
+
######## ####### ######## ####### ######## ########
|
12
|
+
module Dialog
|
13
|
+
module Metamess
|
14
|
+
class << self
|
15
|
+
|
16
|
+
def collect_EventContentCommand(args)
|
17
|
+
metaStep(args, __method__.to_s)
|
18
|
+
### BODY
|
19
|
+
commandType(args)
|
20
|
+
### EOF BODY
|
21
|
+
return final(args)
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
def commandType(args)
|
26
|
+
case args[:mmsg][:fqndata][:o][:msg][:textStartWith]
|
27
|
+
when /^_[а-яА-ЯёЁa-zA-Z0-9]..*.:.*[а-яА-ЯёЁa-zA-Z0-9]+$/
|
28
|
+
delimiter = ":"
|
29
|
+
args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Command::Genus.Dialog
|
30
|
+
when /^_[а-яА-ЯёЁa-zA-Z0-9]*[^:]*\s*[а-яА-ЯёЁa-zA-Z0-9]+$/
|
31
|
+
delimiter = "\s"
|
32
|
+
args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Command::Genus.Dialog
|
33
|
+
when /^\/[а-яА-ЯёЁa-zA-Z0-9]..*.:.*[а-яА-ЯёЁa-zA-Z0-9]+$/
|
34
|
+
delimiter = ":"
|
35
|
+
args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Command::Genus.Telegram
|
36
|
+
when /^\/[а-яА-ЯёЁa-zA-Z0-9]*[^:]*\s*[а-яА-ЯёЁa-zA-Z0-9]+$/
|
37
|
+
delimiter = "\s"
|
38
|
+
args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Command::Genus.Telegram
|
39
|
+
else
|
40
|
+
delimiter = false
|
41
|
+
end
|
42
|
+
Dialog.logger.debug("###### delimiter - #{delimiter} ")
|
43
|
+
|
44
|
+
if ! delimiter == false
|
45
|
+
bot_fullcommand = args[:mmsg][:fqndata][:o][:msg][:textStartWith].split(delimiter)
|
46
|
+
bot_command = bot_fullcommand[0].strip[1..-1].downcase
|
47
|
+
|
48
|
+
if /.@.*/.match?(bot_command)
|
49
|
+
if /.@#{args[:globals][:botUsername].downcase}.*/.match?(bot_command)
|
50
|
+
bot_command = bot_command.split('@')[0]
|
51
|
+
else
|
52
|
+
Dialog.logger.error("###### COMMAND FOR OTHER BOT! ")
|
53
|
+
raise
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
if bot_fullcommand[1].nil?
|
58
|
+
bot_subcommand = '_main'
|
59
|
+
else
|
60
|
+
bot_fullcommand.shift
|
61
|
+
bot_fullcommand.each do |v|
|
62
|
+
if /^#.*|^@.*/.match?(v)
|
63
|
+
next
|
64
|
+
else
|
65
|
+
bot_subcommand = "#{bot_subcommand}_#{v.downcase}"
|
66
|
+
end
|
67
|
+
end
|
68
|
+
bot_subcommand = '_main' if bot_subcommand == ''
|
69
|
+
end
|
70
|
+
|
71
|
+
else
|
72
|
+
bot_command = args[:mmsg][:fqndata][:o][:msg][:textStartWith].strip[1..-1].downcase
|
73
|
+
bot_subcommand = '_main'
|
74
|
+
end
|
75
|
+
|
76
|
+
args[:mmsg][:fqndata][:f][:bot_command] = bot_command
|
77
|
+
args[:mmsg][:fqndata][:f][:bot_subcommand] = bot_subcommand
|
78
|
+
end
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
def collect_EventContentCommandDialog(args)
|
83
|
+
metaStep(args, __method__.to_s)
|
84
|
+
### BODY
|
85
|
+
|
86
|
+
### EOF BODY
|
87
|
+
return final(args)
|
88
|
+
end
|
89
|
+
|
90
|
+
def collect_EventContentCommandTelegram(args)
|
91
|
+
metaStep(args, __method__.to_s)
|
92
|
+
### BODY
|
93
|
+
|
94
|
+
### EOF BODY
|
95
|
+
return final(args)
|
96
|
+
end
|
97
|
+
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
@@ -0,0 +1,149 @@
|
|
1
|
+
######## ####### ######## ####### ######## ########
|
2
|
+
## / / / / License \ \ \ \
|
3
|
+
## Copyleft culture, Copyright (C) is prohibited here
|
4
|
+
## This work is licensed under a CC BY-SA 4.0
|
5
|
+
## Creative Commons Attribution-ShareAlike 4.0 License
|
6
|
+
## Refer to the http://creativecommons.org/licenses/by-sa/4.0/
|
7
|
+
######## ####### ######## ####### ######## ########
|
8
|
+
## / / / / Code Climate \ \ \ \
|
9
|
+
## Language = ruby
|
10
|
+
## Indent = space; 2 chars;
|
11
|
+
######## ####### ######## ####### ######## ########
|
12
|
+
module Dialog
|
13
|
+
module Metamess
|
14
|
+
class << self
|
15
|
+
|
16
|
+
def collect_EventContentMedia(args)
|
17
|
+
metaStep(args, __method__.to_s)
|
18
|
+
### BODY
|
19
|
+
metamessGen(args,eval2mmsg = {
|
20
|
+
:to => {t1: '[:fqndata][:f]'},
|
21
|
+
:fFieldsOpt => {v1: :caption},
|
22
|
+
})
|
23
|
+
### EOF BODY
|
24
|
+
return final(args)
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
def defaults_media(eval2mmsg)
|
29
|
+
eval2mmsg = {
|
30
|
+
:to => {t1: '[:fqndata][:f][:file]'},
|
31
|
+
:fFields => {v1: :file_id, v2: :file_size},
|
32
|
+
:tFields => {v1: :id, v2: :size},
|
33
|
+
:fFieldsOpt => {v1: :mime_type},
|
34
|
+
}
|
35
|
+
return eval2mmsg
|
36
|
+
end
|
37
|
+
|
38
|
+
def defaults_mediaWithDuration(eval2mmsg)
|
39
|
+
eval2mmsg = {
|
40
|
+
:to => {t1: '[:fqndata][:f][:file]'},
|
41
|
+
:fFieldsOpt => {v1: :duration},
|
42
|
+
}
|
43
|
+
return eval2mmsg
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
def collect_EventContentMediaPhoto(args)
|
48
|
+
metaStep(args, __method__.to_s)
|
49
|
+
### BODY
|
50
|
+
#args[:rmsg].photo[-1].file_size ## TODO - for array
|
51
|
+
eval2mmsg = defaults_media(eval2mmsg)
|
52
|
+
eval2mmsg[:from] = {f1: '[:photo][-1]'}
|
53
|
+
metamessGen(args,eval2mmsg)
|
54
|
+
|
55
|
+
args[:mmsg][:fqndata][:f][:file][:path] = Dialog::Wrappers.apiGetFilePath(args[:mmsg][:fqndata][:f][:file][:id])
|
56
|
+
### EOF BODY
|
57
|
+
return final(args)
|
58
|
+
end
|
59
|
+
|
60
|
+
def collect_EventContentMediaDocument(args)
|
61
|
+
metaStep(args, __method__.to_s)
|
62
|
+
### BODY
|
63
|
+
eval2mmsg = defaults_media(eval2mmsg)
|
64
|
+
eval2mmsg[:from] = {f1: '[:document]'}
|
65
|
+
metamessGen(args,eval2mmsg)
|
66
|
+
|
67
|
+
metamessGen(args,eval2mmsg = {
|
68
|
+
:from => {f1: '[:document]'},
|
69
|
+
:to => {t1: '[:fqndata][:f][:file]'},
|
70
|
+
:fFields => {v1: :file_name},
|
71
|
+
:fFieldsOpt => {v1: :name},
|
72
|
+
})
|
73
|
+
|
74
|
+
args[:mmsg][:fqndata][:f][:file][:path] = Dialog::Wrappers.apiGetFilePath(args[:mmsg][:fqndata][:f][:file][:id])
|
75
|
+
### EOF BODY
|
76
|
+
return final(args)
|
77
|
+
end
|
78
|
+
|
79
|
+
def collect_EventContentMediatVoice(args)
|
80
|
+
metaStep(args, __method__.to_s)
|
81
|
+
### BODY
|
82
|
+
eval2mmsg = defaults_media(eval2mmsg)
|
83
|
+
eval2mmsg[:from] = {f1: '[:tvoice]'}
|
84
|
+
metamessGen(args,eval2mmsg)
|
85
|
+
### EOF BODY
|
86
|
+
return final(args)
|
87
|
+
end
|
88
|
+
|
89
|
+
def collect_EventContentMediaAudio(args)
|
90
|
+
metaStep(args, __method__.to_s)
|
91
|
+
###
|
92
|
+
from = {f1: '[:audio]'}
|
93
|
+
eval2mmsg = defaults_media(eval2mmsg)
|
94
|
+
eval2mmsg[:from] = from
|
95
|
+
metamessGen(args,eval2mmsg)
|
96
|
+
eval2mmsg = defaults_mediaWithDuration(eval2mmsg)
|
97
|
+
eval2mmsg[:from] = from
|
98
|
+
metamessGen(args,eval2mmsg)
|
99
|
+
### EOF BODY
|
100
|
+
return final(args)
|
101
|
+
end
|
102
|
+
|
103
|
+
def collect_EventContentMediaVideo(args)
|
104
|
+
metaStep(args, __method__.to_s)
|
105
|
+
### BODY
|
106
|
+
eval2mmsg = defaults_media(eval2mmsg)
|
107
|
+
eval2mmsg[:from] = {f1: '[:video]'}
|
108
|
+
metamessGen(args,eval2mmsg)
|
109
|
+
### EOF BODY
|
110
|
+
return final(args)
|
111
|
+
end
|
112
|
+
|
113
|
+
def collect_EventContentMediaVideo_note(args)
|
114
|
+
metaStep(args, __method__.to_s)
|
115
|
+
### BODY
|
116
|
+
eval2mmsg = defaults_media(eval2mmsg)
|
117
|
+
eval2mmsg[:from] = {f1: '[:video_note]'}
|
118
|
+
metamessGen(args,eval2mmsg)
|
119
|
+
### EOF BODY
|
120
|
+
return final(args)
|
121
|
+
end
|
122
|
+
|
123
|
+
def collect_EventContentMediaVoice(args)
|
124
|
+
metaStep(args, __method__.to_s)
|
125
|
+
### BODY
|
126
|
+
from = {f1: '[:voice]'}
|
127
|
+
eval2mmsg = defaults_media(eval2mmsg)
|
128
|
+
eval2mmsg[:from] = from
|
129
|
+
metamessGen(args,eval2mmsg)
|
130
|
+
eval2mmsg = defaults_mediaWithDuration(eval2mmsg)
|
131
|
+
eval2mmsg[:from] = from
|
132
|
+
metamessGen(args,eval2mmsg)
|
133
|
+
### EOF BODY
|
134
|
+
return final(args)
|
135
|
+
end
|
136
|
+
|
137
|
+
def collect_EventContentMediaSticker(args)
|
138
|
+
metaStep(args, __method__.to_s)
|
139
|
+
### BODY
|
140
|
+
eval2mmsg = defaults_media(eval2mmsg)
|
141
|
+
eval2mmsg[:from] = {f1: '[:sticker]'}
|
142
|
+
metamessGen(args,eval2mmsg)
|
143
|
+
### EOF BODY
|
144
|
+
return final(args)
|
145
|
+
end
|
146
|
+
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
######## ####### ######## ####### ######## ########
|
2
|
+
## / / / / License \ \ \ \
|
3
|
+
## Copyleft culture, Copyright (C) is prohibited here
|
4
|
+
## This work is licensed under a CC BY-SA 4.0
|
5
|
+
## Creative Commons Attribution-ShareAlike 4.0 License
|
6
|
+
## Refer to the http://creativecommons.org/licenses/by-sa/4.0/
|
7
|
+
######## ####### ######## ####### ######## ########
|
8
|
+
## / / / / Code Climate \ \ \ \
|
9
|
+
## Language = ruby
|
10
|
+
## Indent = space; 2 chars;
|
11
|
+
######## ####### ######## ####### ######## ########
|
12
|
+
module Dialog
|
13
|
+
module Metamess
|
14
|
+
class << self
|
15
|
+
|
16
|
+
def collect_EventContentSimple(args)
|
17
|
+
metaStep(args, __method__.to_s)
|
18
|
+
### BODY
|
19
|
+
args[:mmsg][:fqnrun][:g] = Dialog::Naming::Class::Event::Order::Content::Family::Simple::Genus.Text
|
20
|
+
|
21
|
+
### EOF BODY
|
22
|
+
return final(args)
|
23
|
+
end
|
24
|
+
|
25
|
+
def collect_EventContentSimpleText(args)
|
26
|
+
metaStep(args, __method__.to_s)
|
27
|
+
### BODY
|
28
|
+
|
29
|
+
### EOF BODY
|
30
|
+
return final(args)
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|