dialog_ruby 0.1.1
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.
- 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,34 @@
|
|
|
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_EventNotifyMigrate(args)
|
|
17
|
+
metaStep(args, __method__.to_s)
|
|
18
|
+
### BODY
|
|
19
|
+
args[:mmsg][:fqn][:g] = Dialog::Naming::Class::Default::Order::Default::Genus.Main
|
|
20
|
+
### EOF BODY
|
|
21
|
+
return final(args)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def collect_DialogEventNotifyMigrateMain(args)
|
|
25
|
+
metaStep(args, __method__.to_s)
|
|
26
|
+
### BODY
|
|
27
|
+
|
|
28
|
+
### EOF BODY
|
|
29
|
+
return final(args)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
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_EventNotifyPinned(args)
|
|
17
|
+
metaStep(args, __method__.to_s)
|
|
18
|
+
### BODY
|
|
19
|
+
args[:mmsg][:fqn][:g] = Dialog::Naming::Class::Default::Order::Default::Genus.Main
|
|
20
|
+
### EOF BODY
|
|
21
|
+
return final(args)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def collect_DialogEventNotifyPinnedMain(args)
|
|
25
|
+
metaStep(args, __method__.to_s)
|
|
26
|
+
### BODY
|
|
27
|
+
|
|
28
|
+
### EOF BODY
|
|
29
|
+
return final(args)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
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_EventNotify(args)
|
|
17
|
+
metaStep(args, __method__.to_s)
|
|
18
|
+
### BODY
|
|
19
|
+
content_user(args) unless args[:rmsg][:chat][:type] == 'channel'
|
|
20
|
+
### Chat
|
|
21
|
+
content_chat(args)
|
|
22
|
+
### EOF BODY
|
|
23
|
+
return final(args)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
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_Event(args)
|
|
17
|
+
metaStep(args, __method__.to_s)
|
|
18
|
+
### BODY
|
|
19
|
+
|
|
20
|
+
### EOF BODY
|
|
21
|
+
return final(args)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,220 @@
|
|
|
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
|
+
ALL_CAPS = ('A'..'Z').to_a.join
|
|
18
|
+
|
|
19
|
+
def getStep(method)
|
|
20
|
+
step = {}
|
|
21
|
+
case method.count(ALL_CAPS)
|
|
22
|
+
when 1
|
|
23
|
+
step[:prev] = false
|
|
24
|
+
step[:curr] = :c
|
|
25
|
+
step[:next] = :o
|
|
26
|
+
when 2
|
|
27
|
+
step[:prev] = :c
|
|
28
|
+
step[:curr] = :o
|
|
29
|
+
step[:next] = :f
|
|
30
|
+
when 3
|
|
31
|
+
step[:prev] = :o
|
|
32
|
+
step[:curr] = :f
|
|
33
|
+
step[:next] = :g
|
|
34
|
+
when 4
|
|
35
|
+
step[:prev] = :g
|
|
36
|
+
step[:curr] = :g
|
|
37
|
+
step[:next] = true
|
|
38
|
+
end
|
|
39
|
+
return step
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def nodata(args: , from: )
|
|
43
|
+
args[:x][:metamess][:nodata] = "### NO DATA FROM METAMESS RUNNER: Order '#{args[:x][:metamess][:o]}', method '#{args[:x][:metamess][:m]}' from '#{from}' ###"
|
|
44
|
+
Dialog.logger.error "#{args[:x][:metamess][:nodata]}"
|
|
45
|
+
raise TypeError
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def metamessGen(args,eval2mmsg)
|
|
49
|
+
toPrefix = 'args[:mmsg]'
|
|
50
|
+
## BUG !!!! EVAL!!! - migrate to instance_variable_set
|
|
51
|
+
eval2mmsg[:to].each do |num, val|
|
|
52
|
+
begin
|
|
53
|
+
# Dialog.logger.debug "### checking hash: #{val}"
|
|
54
|
+
val = "#{toPrefix}#{val}"
|
|
55
|
+
eval("#{val}.length")
|
|
56
|
+
rescue NoMethodError => @e
|
|
57
|
+
# Dialog.logger.debug "### create hash: #{val}"
|
|
58
|
+
eval("#{val} = {}")
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
eval2mmsg[:map] = eval2mmsg_simplemap(eval2mmsg) unless eval2mmsg.has_key?(:map)
|
|
63
|
+
|
|
64
|
+
eval2mmsg[:map].each do |mapType, mapTypeData|
|
|
65
|
+
mapTypeData.each do |pk, pv| pk[1..-1]
|
|
66
|
+
if mapType.to_s == 'opt'
|
|
67
|
+
tFields = 'tFieldsOpt'; fFields = 'fFieldsOpt'; opt = true
|
|
68
|
+
# Dialog.logger.debug "### 1 type: #{mapType}, tFields: #{tFields}, res: #{eval("#{eval2mmsg["#{tFields}".to_sym]}")}"
|
|
69
|
+
else
|
|
70
|
+
tFields = 'tFields'; fFields = 'fFields'; opt = false
|
|
71
|
+
# Dialog.logger.debug "### 2 type: #{mapType}, tFields: #{tFields}, res: #{eval("#{eval2mmsg["#{tFields}".to_sym]}")}"
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
to = "#{toPrefix}#{eval2mmsg[:to][pv[:to].to_sym]}#{[eval2mmsg["#{tFields}".to_sym]["v#{pk[1..-1]}".to_sym]]}"
|
|
75
|
+
if eval2mmsg.has_key?(:from)
|
|
76
|
+
from = "#{eval2mmsg[:from][pv[:from].to_sym]}#{[eval2mmsg["#{fFields}".to_sym]["v#{pk[1..-1]}".to_sym]]}"
|
|
77
|
+
else
|
|
78
|
+
from = "#{[eval2mmsg["#{fFields}".to_sym]["v#{pk[1..-1]}".to_sym]]}"
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
## refactor to lambda
|
|
82
|
+
if opt == true
|
|
83
|
+
begin
|
|
84
|
+
eval("args[:rmsg]#{from}.nil?") ? metacheck = false : metacheck = "args[:metacheck]#{from}"
|
|
85
|
+
rescue NoMethodError => @e
|
|
86
|
+
metacheck = false
|
|
87
|
+
end
|
|
88
|
+
else
|
|
89
|
+
metacheck = "args[:metacheck]#{from}"
|
|
90
|
+
end
|
|
91
|
+
# Dialog.logger.catch "### opt::#{opt}, from::#{from}, metacheck::#{metacheck}"
|
|
92
|
+
eval("#{metacheck} = 1") unless metacheck == false
|
|
93
|
+
|
|
94
|
+
from = "args[:rmsg]#{from}"
|
|
95
|
+
# Dialog.logger.debug "### Metamessage - FROM #{from};\tTO: #{to}, type: #{mapType}"
|
|
96
|
+
if mapType.to_s == 'opt'
|
|
97
|
+
nilFunction = true
|
|
98
|
+
else
|
|
99
|
+
nilFunction = "nodata(args: args,from: from)"
|
|
100
|
+
end
|
|
101
|
+
begin
|
|
102
|
+
eval("#{from}.nil? ? #{nilFunction} : #{to} = #{from}")
|
|
103
|
+
rescue NoMethodError => @e
|
|
104
|
+
Dialog.logger.debug "No method #{from}" if nilFunction == true
|
|
105
|
+
rescue TypeError => @e
|
|
106
|
+
Dialog.logger.error "Problems with mapping type: #{mapType}, #{tFields}->#{fFields}, may be optional?"
|
|
107
|
+
raise
|
|
108
|
+
end
|
|
109
|
+
##
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def eval2mmsg_simplemap(eval2mmsg) # TODO doubled functionality
|
|
115
|
+
map = {}
|
|
116
|
+
if eval2mmsg.key?(:fFields)
|
|
117
|
+
eval2mmsg[:tFields] = eval2mmsg[:fFields] unless eval2mmsg.key?(:tFields)
|
|
118
|
+
if eval2mmsg[:fFields].size == eval2mmsg[:tFields].size
|
|
119
|
+
map[:base] = {}
|
|
120
|
+
i = 1
|
|
121
|
+
while i <= eval2mmsg[:tFields].size do
|
|
122
|
+
map[:base][:"m#{i}".to_sym] = {from: 'f1', to: 't1'}
|
|
123
|
+
i+=1
|
|
124
|
+
end
|
|
125
|
+
else
|
|
126
|
+
Dialog.logger.error "EVAL map not equal"
|
|
127
|
+
raise
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
if eval2mmsg.key?(:fFieldsOpt)
|
|
132
|
+
eval2mmsg[:tFieldsOpt] = eval2mmsg[:fFieldsOpt] unless eval2mmsg.has_key?(:tFieldsOpt)
|
|
133
|
+
if eval2mmsg[:fFieldsOpt].size == eval2mmsg[:tFieldsOpt].size
|
|
134
|
+
|
|
135
|
+
map[:opt] = {}
|
|
136
|
+
i = 1
|
|
137
|
+
while i <= eval2mmsg[:tFieldsOpt].size do
|
|
138
|
+
map[:opt][:"m#{i}".to_sym] = {from: 'f1', to: 't1'}
|
|
139
|
+
i+=1
|
|
140
|
+
end
|
|
141
|
+
else
|
|
142
|
+
Dialog.logger.error "EVAL map not equal"
|
|
143
|
+
raise
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# Dialog.logger.debug "#{map}"
|
|
148
|
+
return map
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def getChatContext(args)
|
|
153
|
+
Dialog.clearRedis(args)
|
|
154
|
+
case args[:mmsg][:fqndata][:o][:chat][:type]
|
|
155
|
+
when 'private'
|
|
156
|
+
context = Naming::ChatContext.Private
|
|
157
|
+
|
|
158
|
+
when 'group'
|
|
159
|
+
leaveGroup(args)
|
|
160
|
+
|
|
161
|
+
when 'supergroup'
|
|
162
|
+
args[:x][:redis][:region] = 'chat'
|
|
163
|
+
args[:x][:redis][:territory] = 'context'
|
|
164
|
+
context = Dialog::RedisCached.pullCached(args)
|
|
165
|
+
|
|
166
|
+
when 'channel'
|
|
167
|
+
context = 'unknown'
|
|
168
|
+
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
#Check
|
|
172
|
+
args[:x][:metamess][:key] = 'context'
|
|
173
|
+
context.nil? ? nodata(args: args, from: 'context') : args[:mmsg][:fqndata][:o][:chat][:context] = context
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
def leaveGroup(args)
|
|
178
|
+
args[:api][:op] = 'Message'
|
|
179
|
+
args[:smsg] = {}
|
|
180
|
+
args[:smsg][:chat_id] = args[:rmsg].chat.id
|
|
181
|
+
args[:smsg][:text] = I18n.t('_action_group2supergroup')
|
|
182
|
+
Dialog::BotApi.apiActionSend(args)
|
|
183
|
+
args[:api][:op] = 'leaveChat'
|
|
184
|
+
Dialog::BotApi.apiAction(args)
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
def final(args)
|
|
188
|
+
if args[:mmsg][:fqn].key?(:g)
|
|
189
|
+
args[:mmsg].delete(:fqnrun)
|
|
190
|
+
elsif args[:mmsg][:fqn].key?(:f)
|
|
191
|
+
args[:mmsg][:fqnrun].key?(:g) ? args[:mmsg][:fqnrun].delete(:f) : nofinal(args, 'f->g')
|
|
192
|
+
elsif args[:mmsg][:fqn].key?(:o)
|
|
193
|
+
args[:mmsg][:fqnrun].key?(:f) ? args[:mmsg][:fqnrun].delete(:o) : nofinal(args, 'o->f')
|
|
194
|
+
elsif args[:mmsg][:fqn].key?(:c)
|
|
195
|
+
args[:mmsg][:fqnrun].key?(:o) ? args[:mmsg][:fqnrun].delete(:c) : nofinal(args, 'c->o')
|
|
196
|
+
else
|
|
197
|
+
Dialog.logger.error "### FINAL GOES WRONG"
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
return args[:mmsg]
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
def nofinal(args, step)
|
|
204
|
+
error = "### NO next FQN step (#{step}) for : '#{args[:mmsg]}' ###"
|
|
205
|
+
Dialog.logger.error "#{error}"
|
|
206
|
+
raise 'LostFQN'
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
def metaStep(args, method)
|
|
210
|
+
method = method.split('_')[1]
|
|
211
|
+
step = getStep(method)
|
|
212
|
+
|
|
213
|
+
args[:mmsg][:fqn][step[:curr]] = args[:mmsg][:fqnrun][step[:curr]]
|
|
214
|
+
args[:mmsg][:fqndata][step[:curr]] = {}
|
|
215
|
+
args[:x][:metamess][:m] = method
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
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_EventServiceCallbackQuery(args)
|
|
17
|
+
metaStep(args, __method__.to_s)
|
|
18
|
+
### BODY
|
|
19
|
+
content_user(args)
|
|
20
|
+
content_message(args) if args[:rmsg].has_key?(:message)
|
|
21
|
+
#location # TODO
|
|
22
|
+
metamessGen(args,eval2mmsg = {
|
|
23
|
+
:to => {t1: '[:g][:callback]'},
|
|
24
|
+
:fFields => {v1: :id, v2: :chat_instance},
|
|
25
|
+
:fFieldsOpt => {v1: :inline_message_id, v2: :data},
|
|
26
|
+
})
|
|
27
|
+
### EOF BODY
|
|
28
|
+
return final(args)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
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_EventServiceInline(args)
|
|
17
|
+
metaStep(args, __method__.to_s)
|
|
18
|
+
### BODY
|
|
19
|
+
|
|
20
|
+
### EOF BODY
|
|
21
|
+
return final(args)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def collect_EventServiceInlineQuery(args)
|
|
26
|
+
metaStep(args, __method__.to_s)
|
|
27
|
+
### BODY
|
|
28
|
+
content_user(args)
|
|
29
|
+
#location # TODO
|
|
30
|
+
metamessGen(args,eval2mmsg = {
|
|
31
|
+
:to => {t1: '[:g][:inline]'},
|
|
32
|
+
:fFields => {v1: :id, v2: :query, v3: :offset},
|
|
33
|
+
})
|
|
34
|
+
### EOF BODY
|
|
35
|
+
return final(args)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def collect_EventServiceInlineCresult(args)
|
|
40
|
+
metaStep(args, __method__.to_s)
|
|
41
|
+
### BODY
|
|
42
|
+
content_user(args)
|
|
43
|
+
metamessGen(args,eval2mmsg = {
|
|
44
|
+
:to => {t1: '[:g][:inline]'},
|
|
45
|
+
:fFields => {v1: :result_id, v2: :query},
|
|
46
|
+
:tFields => {v1: :id, v2: :query},
|
|
47
|
+
:fFieldsOpt => {v1: :inline_message_id},
|
|
48
|
+
})
|
|
49
|
+
### EOF BODY
|
|
50
|
+
return final(args)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
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_EventService(args)
|
|
17
|
+
metaStep(args, __method__.to_s)
|
|
18
|
+
### BODY
|
|
19
|
+
|
|
20
|
+
### EOF BODY
|
|
21
|
+
return final(args)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|