dialog_ruby 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/Gemfile +0 -0
  4. data/_dev/get_full_botapi.rb +59 -0
  5. data/_dev/inlinekb_pubsub.rb +69 -0
  6. data/_dev/main.rb +127 -0
  7. data/_dev/restriction.rb +32 -0
  8. data/_dev/ru.yml +79 -0
  9. data/_dev/sidekiq.rb +28 -0
  10. data/_dev/tdlib.rb +154 -0
  11. data/dialog.sh +51 -0
  12. data/dialog_ruby.gemspec +41 -0
  13. data/lib/architecture.md +22 -0
  14. data/lib/configuration.rb +117 -0
  15. data/lib/dialogStart.rb +189 -0
  16. data/lib/dialog_ruby.rb +59 -0
  17. data/lib/exec.sh +61 -0
  18. data/lib/exec_conf/cli_config +7 -0
  19. data/lib/exec_conf/dialog__sync.service +14 -0
  20. data/lib/exec_conf/dialog__sync.timer +11 -0
  21. data/lib/exec_conf/dialog_bot@.path +6 -0
  22. data/lib/exec_conf/dialog_bot@.service +18 -0
  23. data/lib/exec_conf/dialog_bot_dev@.path +6 -0
  24. data/lib/exec_conf/dialog_bot_dev_pre@.service +16 -0
  25. data/lib/exec_conf/dialog_bot_pre@.service +16 -0
  26. data/lib/exec_conf/dialog_redis@.service +14 -0
  27. data/lib/exec_conf/post-merge +5 -0
  28. data/lib/exec_conf/redis_global.conf +49 -0
  29. data/lib/exec_conf/redis_local.conf +4 -0
  30. data/lib/lang/global_ru.yml +29 -0
  31. data/lib/lib/dialect/canvas/canvas.rb +35 -0
  32. data/lib/lib/dialect/canvas/element/convert/SearchBaloo.rb +45 -0
  33. data/lib/lib/dialect/canvas/element/data/search.rb +34 -0
  34. data/lib/lib/dialect/canvas/element/send/Inline_query_result.rb +32 -0
  35. data/lib/lib/dialect/canvas/element/send/bot_message.rb +38 -0
  36. data/lib/lib/dialect/canvas/element/send/keyboards.rb +59 -0
  37. data/lib/lib/dialect/canvas/element/send/recognize.rb +51 -0
  38. data/lib/lib/dialect/canvas/element/send/restrict.rb +42 -0
  39. data/lib/lib/dialect/canvas/element/send/tdlib_chat.rb +33 -0
  40. data/lib/lib/dialect/canvas/element/send/tdlib_message.rb +38 -0
  41. data/lib/lib/dialect/canvas/mod/send/_Inline_query_result.rb +38 -0
  42. data/lib/lib/dialect/canvas/mod/send/_keyboards.rb +40 -0
  43. data/lib/lib/dialect/canvas/mod/send/func.rb +98 -0
  44. data/lib/lib/dialect/canvas/mod/send/general/_heads.rb +27 -0
  45. data/lib/lib/dialect/canvas/mod/send/general/chat.rb +38 -0
  46. data/lib/lib/dialect/canvas/mod/send/general/common.rb +32 -0
  47. data/lib/lib/dialect/canvas/mod/send/general/message.rb +37 -0
  48. data/lib/lib/dialect/canvas/mod/send/general/user.rb +36 -0
  49. data/lib/lib/dialect/canvas/mod/send/inline_query_result/common.rb +36 -0
  50. data/lib/lib/dialect/codegen/codegen.rb +74 -0
  51. data/lib/lib/dialect/codegen/erb/data/1.ModReceive2GetData.erb +27 -0
  52. data/lib/lib/dialect/codegen/erb/data/2.GetData2Elements.erb +27 -0
  53. data/lib/lib/dialect/codegen/erb/data/3.GenData2Dest.erb +34 -0
  54. data/lib/lib/dialect/codegen/erb/functional/1.Expect2Events.erb +37 -0
  55. data/lib/lib/dialect/codegen/erb/functional/2.1.Events2AppEvent.erb +26 -0
  56. data/lib/lib/dialect/codegen/erb/functional/2.2.1.Events2ModReceive.erb +73 -0
  57. data/lib/lib/dialect/codegen/erb/functional/2.2.2.ModReceive2AppEvent.erb +59 -0
  58. data/lib/lib/dialect/codegen/erb/functional/3.Appevent2EventBus.erb +35 -0
  59. data/lib/lib/dialect/codegen/erb/functional/4.1.AppEvent2Elements.erb +72 -0
  60. data/lib/lib/dialect/codegen/erb/functional/5.1.Element2ModElements.erb +70 -0
  61. data/lib/lib/dialect/codegen/erb/functional/5.2.Element2ModSend.erb +69 -0
  62. data/lib/lib/dialect/codegen/erb/functional/7.ElementChains.erb +91 -0
  63. data/lib/lib/dialect/codegen/repack/constructor/DockedGroupings2AppFunctions.rb +36 -0
  64. data/lib/lib/dialect/codegen/repack/constructor/Element2ModSend.rb +49 -0
  65. data/lib/lib/dialect/codegen/repack/constructor/ElementsInElements.rb +34 -0
  66. data/lib/lib/dialect/codegen/repack/functional/1.Expect2Events.rb +35 -0
  67. data/lib/lib/dialect/codegen/repack/functional/2.2.1.Events2ModReceive.rb +71 -0
  68. data/lib/lib/dialect/codegen/repack/functional/2.2.2.ModReceive2AppEvent.rb +45 -0
  69. data/lib/lib/dialect/codegen/repack/functional/5.1.Element2ModElements.rb +90 -0
  70. data/lib/lib/dialect/codegen/repack/functional/5.2.Element2ModSend.rb +60 -0
  71. data/lib/lib/dialect/codegen/repack/functional/7.ElementChains.rb +88 -0
  72. data/lib/lib/dialect/codegen/run.rb +79 -0
  73. data/lib/lib/metamess/_run.rb +162 -0
  74. data/lib/lib/metamess/content/content_o-command_f.rb +100 -0
  75. data/lib/lib/metamess/content/content_o-media_f.rb +149 -0
  76. data/lib/lib/metamess/content/content_o-simple_f.rb +35 -0
  77. data/lib/lib/metamess/content/content_o.rb +245 -0
  78. data/lib/lib/metamess/event/notify_o-chatmember_f.rb +124 -0
  79. data/lib/lib/metamess/event/notify_o-chattitle_f.rb +34 -0
  80. data/lib/lib/metamess/event/notify_o-create_f.rb +42 -0
  81. data/lib/lib/metamess/event/notify_o-migrate_f.rb +34 -0
  82. data/lib/lib/metamess/event/notify_o-pinned_f.rb +34 -0
  83. data/lib/lib/metamess/event/notify_o.rb +28 -0
  84. data/lib/lib/metamess/event_c.rb +26 -0
  85. data/lib/lib/metamess/func.rb +220 -0
  86. data/lib/lib/metamess/service/service_o-callback_f.rb +33 -0
  87. data/lib/lib/metamess/service/service_o-inline_f.rb +55 -0
  88. data/lib/lib/metamess/service/service_o.rb +26 -0
  89. data/lib/lib/naming.rb +130 -0
  90. data/lib/lib/storage/redis/redisPubSub.rb +51 -0
  91. data/lib/lib/storage/redis/rediscached.rb +97 -0
  92. data/lib/lib/tdlib/auth.rb +141 -0
  93. data/lib/lib/tdlib/func.rb +34 -0
  94. data/lib/lib/tdlib/init.rb +39 -0
  95. data/lib/lib/telegram/botapi.rb +71 -0
  96. data/lib/lib/telegram/infra_info.rb +50 -0
  97. data/lib/lib/telegram/wrappers.rb +41 -0
  98. data/lib/lib/tooling/lang.rb +24 -0
  99. data/lib/lib/tooling/log.rb +54 -0
  100. data/lib/lib/tooling/ruby.rb +25 -0
  101. data/lib/version.rb +3 -0
  102. data/logo.png +0 -0
  103. metadata +305 -0
@@ -0,0 +1,39 @@
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 TDLib
14
+ class << self
15
+
16
+ def tdlibInit(name)
17
+
18
+ FileUtils.mkdir_p("#{Dialog.config.path.data}/tdlib/#{name}")
19
+ config = {
20
+ api_id: Dialog.config.api.id,
21
+ api_hash: Dialog.config.api.hash_s,
22
+ device_model: Dialog.config.naming.app,
23
+ database_directory: "#{Dialog.config.path.data}/tdlib/#{name}",
24
+ files_directory: "#{Dialog.config.path.data}/tdlib/#{name}",
25
+ }
26
+
27
+ TD.configure do |config|
28
+ config.lib_path = '/usr/lib64'
29
+ end
30
+
31
+ TD::Api.set_log_verbosity_level(Dialog.config.log.tdlib)
32
+ handler = TD::Client.new(**config)
33
+
34
+ return handler
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,71 @@
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 BotApi
15
+ class << self
16
+
17
+ def apiActionGet(args)
18
+ args[:api][:op] = "get#{args[:api][:op]}"
19
+ a = apiAction(args)
20
+ return a
21
+ end
22
+
23
+ def apiActionSend(args)
24
+ args[:api][:op] = "send#{args[:api][:op]}"
25
+ a = apiAction(args)
26
+ return a
27
+ end
28
+
29
+ def apiAction(args)
30
+ args[:perf][:preApiAction] = Time.now
31
+ op = args[:api][:op]
32
+ Dialog.logger.debug "Operation #{op}: #{args[:smsg]}\n"
33
+ a = args[:bot].api.send("#{op}".to_sym, args[:smsg])
34
+ Dialog.logger.debug "API Answer - #{a}"
35
+
36
+ if a["ok"] == true
37
+ return a
38
+ else
39
+ Dialog.logger.info "ERROR in bot.api interaction #{"#{op}".to_sym}, msg: #{args[:smsg]}"
40
+ end
41
+ args[:smsg] = {}
42
+ args[:api] = {}
43
+ args[:x] = {}
44
+ end
45
+
46
+
47
+ def socks5_connection
48
+ require 'telegram/bot/adapters/socks5'
49
+
50
+ host = "https://#{Dialog.config.proxy.host}:#{Dialog.config.proxy.port}"
51
+ proxy_opts = {
52
+ uri: URI.parse(host),
53
+ user: Dialog.config.proxy.login,
54
+ password: Dialog.config.proxy.pass,
55
+ socks: true
56
+ }
57
+
58
+ c = Faraday.new(url: Dialog.config.host.apiUri,
59
+ ssl: {verify:false},
60
+ request: { proxy: proxy_opts }) do |c|
61
+ c.request :multipart
62
+ c.request :url_encoded
63
+ Faraday::Adapter.register_middleware socks5: Telegram::Bot::Adapters::Socks5
64
+ c.adapter :socks5
65
+ end
66
+ return c
67
+ end
68
+
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,50 @@
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 BotApi
15
+ class << self
16
+
17
+ def runMetacommand__info(args)
18
+
19
+ if args[:mmsg][:reply] == nil
20
+ args[:smsg][:text] = "О чём именно вам дать информацию?\n Отметьте объект с помощью 'Reply' и отправьте ему сообщение '_info' или '_инфо'\n"
21
+ Bot::BotApi.new.apiActionSend(args)
22
+ else
23
+ text = "Информация об объекте:\n\n"
24
+ text = text + "Как-то раз (а именно, <b>#{DateTime.strptime(args[:mmsg][:reply][:mmsg][:date].to_s,'%s')}</b>) \n"
25
+ text = text + "пользователь <b>#{args[:mmsg][:reply][:mmsg][:username]}</b> с ID <b>#{args[:mmsg][:reply][:mmsg][:user_id]}</b> \n"
26
+ text = text + "отправил сообщение с ID \"<b>#{args[:mmsg][:reply][:mmsg][:message_id]}</b>\"\n"
27
+ text = text + "в чат контекста \"<b>#{args[:mmsg][:reply][:mmsg][:chat_context]}</b>\" под названием \"<b>#{args[:mmsg][:reply][:mmsg][:chat_title]}</b>\" с ID \"<b>#{args[:mmsg][:reply][:mmsg][:chat_id]}</b>\"\n"
28
+ text = text + "(на самом деле, это был forward сообщения пользователя <b>#{args[:mmsg][:reply][:mmsg][:forward][:from][:username]}</b> с ID <b>#{args[:mmsg][:reply][:mmsg][:forward][:from][:user_id]}</b> от <b>#{DateTime.strptime(args[:mmsg][:reply][:mmsg][:forward][:date].to_s,'%s')}</b>\n" if ! args[:mmsg][:reply][:mmsg][:forward].nil?
29
+ text = text + "Сообщение было отредактировано <b>#{DateTime.strptime(args[:mmsg][:reply][:mmsg][:edit][:date].to_s,'%s')}</b>\n" if ! args[:mmsg][:reply][:mmsg][:edit].nil?
30
+ text = text + "\nДополнительная информация:\n"
31
+ text = text + "Order(Порядок): \"<b>#{args[:mmsg][:reply][:mmsg][:_order]}</b>\"\n"
32
+ text = text + "Family(Семейство): \"<b>#{args[:mmsg][:reply][:mmsg][:_family]}</b>\"\n"
33
+
34
+ if args[:mmsg][:reply][:mmsg][:_order] == Bot::Naming::Class::Message::Order.Media
35
+ text = text + "ID файла: \"<b>#{args[:mmsg][:reply][:mmsg][:media][:file_id]}</b>\"\n"
36
+ text = text + "Название файла: \"<b>#{args[:mmsg][:reply][:mmsg][:media][:file_name]}</b>\"\n" if ! args[:mmsg][:reply][:mmsg][:media][:file_name].nil?
37
+ text = text + "MIME-тип: \"<b>#{args[:mmsg][:reply][:mmsg][:media][:mime_type]}</b>\"\n" if ! args[:mmsg][:reply][:mmsg][:media][:mime_type].nil?
38
+ text = text + "Размер файла: \"<b>#{args[:mmsg][:reply][:mmsg][:media][:file_size]} байта</b>\"\n"
39
+ text = text + "Описание к #{args[:mmsg][:reply][:mmsg][:_family]} : \"<b>#{args[:mmsg][:reply][:mmsg][:media][:caption]}</b>\n" if ! args[:mmsg][:reply][:mmsg][:media][:caption] == nil
40
+ end
41
+ args[:smsg][:text] = text
42
+ end
43
+
44
+ end
45
+
46
+ end
47
+ end
48
+ end
49
+ #
50
+
@@ -0,0 +1,41 @@
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 Wrappers
15
+ class << self
16
+
17
+ def apiGetFilePath(file_id)
18
+ c = Dialog::BotApi.socks5_connection
19
+ url="/bot#{Dialog.config.secure.token}/getFile?file_id=#{file_id}"
20
+ response = c.get url
21
+ response_json = JSON.parse response.body
22
+ file_path=response_json["result"]["file_path"]
23
+ return file_path
24
+ end
25
+
26
+
27
+ def downloadFile(args)
28
+ file = args[:mmsg][:fqndata][:f][:file]
29
+ FileUtils.mkdir_p("#{Dialog.config.path.render}/_tmpfiles/")
30
+ c = Dialog::BotApi.socks5_connection
31
+ url_file="/file/bot#{Dialog.config.secure.token}/#{file[:path]}"
32
+ response = c.get url_file
33
+ file.has_key?(:name) ? name = file[:name] : name = file[:path].split('/')[1]
34
+ File.open("#{Dialog.config.path.render}/_tmpfiles/#{name}", 'wb') { |fp| fp.write(response.body) }
35
+ return name
36
+ end
37
+
38
+
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,24 @@
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 Lang
14
+ class << self
15
+
16
+ def initial
17
+ I18n.load_path = Dir["#{Dialog.config.path.run}/lang/*.yml"]
18
+ I18n.default_locale = :ru
19
+ I18n.backend.load_translations
20
+ end
21
+
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,54 @@
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
+
15
+ def self.logger
16
+ @logger ||= Log.new(Dialog.config.log.base)
17
+ end
18
+
19
+ class Log
20
+
21
+ def initialize(debug_level)
22
+ @logger ||= Logger.new(STDERR)
23
+ @logger.datetime_format = "sec: %S.%6N"
24
+ @logger.formatter = proc do |severity, datetime, progname, msg|
25
+ "#{msg}\n"
26
+ end
27
+
28
+ @logger.info 'Logger started'
29
+ @debug_level = debug_level
30
+ end
31
+
32
+ def catch(message)
33
+ @logger.debug "\033[33m#{message}\033[0m" if [:debug].include? @debug_level.to_sym
34
+ end
35
+
36
+ def debug(message)
37
+ @logger.debug "\033[32m#{message}\033[0m" if [:debug].include? @debug_level.to_sym
38
+ end
39
+
40
+ def info(message)
41
+ @logger.info "\033[36m#{message}\033[0m" if [:info, :debug].include? @debug_level.to_sym
42
+ end
43
+
44
+ def warn(message)
45
+ @logger.warn "\033[35m#{message}\033[0m" if [:warn, :info, :debug].include? @debug_level.to_sym
46
+ end
47
+
48
+ def error(message)
49
+ @logger.error "\033[31m#{message}\033[0m" if [:error, :warn, :info, :debug].include? @debug_level.to_sym
50
+ end
51
+
52
+ end
53
+
54
+ end
@@ -0,0 +1,25 @@
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
+ class Hash
13
+ def diff(other)
14
+ (self.keys + other.keys).uniq.inject({}) do |memo, key|
15
+ unless self[key] == other[key]
16
+ if self[key].kind_of?(Hash) && other[key].kind_of?(Hash)
17
+ memo[key] = self[key].diff(other[key])
18
+ else
19
+ memo[key] = [self[key], other[key]]
20
+ end
21
+ end
22
+ memo
23
+ end
24
+ end
25
+ end
data/lib/version.rb ADDED
@@ -0,0 +1,3 @@
1
+ module Dialog
2
+ VERSION = '0.1.1'.freeze
3
+ end
data/logo.png ADDED
Binary file
metadata ADDED
@@ -0,0 +1,305 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dialog_ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Eugene Istomin
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-10-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: dialect_lookup
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.0.1
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '0.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.0.1
33
+ - !ruby/object:Gem::Dependency
34
+ name: dialog_bot_ruby
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: tdlib-ruby
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: i18n
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: redis
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: concurrent
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: oj
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: erb
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: open3
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: sidekiq-cron
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :runtime
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: sidekiq-rate-limiter
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ description: Communication prototyping platform
174
+ email:
175
+ - info@innosense.org
176
+ executables: []
177
+ extensions: []
178
+ extra_rdoc_files: []
179
+ files:
180
+ - ".gitignore"
181
+ - Gemfile
182
+ - _dev/get_full_botapi.rb
183
+ - _dev/inlinekb_pubsub.rb
184
+ - _dev/main.rb
185
+ - _dev/restriction.rb
186
+ - _dev/ru.yml
187
+ - _dev/sidekiq.rb
188
+ - _dev/tdlib.rb
189
+ - dialog.sh
190
+ - dialog_ruby.gemspec
191
+ - lib/architecture.md
192
+ - lib/configuration.rb
193
+ - lib/dialogStart.rb
194
+ - lib/dialog_ruby.rb
195
+ - lib/exec.sh
196
+ - lib/exec_conf/cli_config
197
+ - lib/exec_conf/dialog__sync.service
198
+ - lib/exec_conf/dialog__sync.timer
199
+ - lib/exec_conf/dialog_bot@.path
200
+ - lib/exec_conf/dialog_bot@.service
201
+ - lib/exec_conf/dialog_bot_dev@.path
202
+ - lib/exec_conf/dialog_bot_dev_pre@.service
203
+ - lib/exec_conf/dialog_bot_pre@.service
204
+ - lib/exec_conf/dialog_redis@.service
205
+ - lib/exec_conf/post-merge
206
+ - lib/exec_conf/redis_global.conf
207
+ - lib/exec_conf/redis_local.conf
208
+ - lib/lang/global_ru.yml
209
+ - lib/lib/dialect/canvas/canvas.rb
210
+ - lib/lib/dialect/canvas/element/convert/SearchBaloo.rb
211
+ - lib/lib/dialect/canvas/element/data/search.rb
212
+ - lib/lib/dialect/canvas/element/send/Inline_query_result.rb
213
+ - lib/lib/dialect/canvas/element/send/bot_message.rb
214
+ - lib/lib/dialect/canvas/element/send/keyboards.rb
215
+ - lib/lib/dialect/canvas/element/send/recognize.rb
216
+ - lib/lib/dialect/canvas/element/send/restrict.rb
217
+ - lib/lib/dialect/canvas/element/send/tdlib_chat.rb
218
+ - lib/lib/dialect/canvas/element/send/tdlib_message.rb
219
+ - lib/lib/dialect/canvas/mod/send/_Inline_query_result.rb
220
+ - lib/lib/dialect/canvas/mod/send/_keyboards.rb
221
+ - lib/lib/dialect/canvas/mod/send/func.rb
222
+ - lib/lib/dialect/canvas/mod/send/general/_heads.rb
223
+ - lib/lib/dialect/canvas/mod/send/general/chat.rb
224
+ - lib/lib/dialect/canvas/mod/send/general/common.rb
225
+ - lib/lib/dialect/canvas/mod/send/general/message.rb
226
+ - lib/lib/dialect/canvas/mod/send/general/user.rb
227
+ - lib/lib/dialect/canvas/mod/send/inline_query_result/common.rb
228
+ - lib/lib/dialect/codegen/codegen.rb
229
+ - lib/lib/dialect/codegen/erb/data/1.ModReceive2GetData.erb
230
+ - lib/lib/dialect/codegen/erb/data/2.GetData2Elements.erb
231
+ - lib/lib/dialect/codegen/erb/data/3.GenData2Dest.erb
232
+ - lib/lib/dialect/codegen/erb/functional/1.Expect2Events.erb
233
+ - lib/lib/dialect/codegen/erb/functional/2.1.Events2AppEvent.erb
234
+ - lib/lib/dialect/codegen/erb/functional/2.2.1.Events2ModReceive.erb
235
+ - lib/lib/dialect/codegen/erb/functional/2.2.2.ModReceive2AppEvent.erb
236
+ - lib/lib/dialect/codegen/erb/functional/3.Appevent2EventBus.erb
237
+ - lib/lib/dialect/codegen/erb/functional/4.1.AppEvent2Elements.erb
238
+ - lib/lib/dialect/codegen/erb/functional/5.1.Element2ModElements.erb
239
+ - lib/lib/dialect/codegen/erb/functional/5.2.Element2ModSend.erb
240
+ - lib/lib/dialect/codegen/erb/functional/7.ElementChains.erb
241
+ - lib/lib/dialect/codegen/repack/constructor/DockedGroupings2AppFunctions.rb
242
+ - lib/lib/dialect/codegen/repack/constructor/Element2ModSend.rb
243
+ - lib/lib/dialect/codegen/repack/constructor/ElementsInElements.rb
244
+ - lib/lib/dialect/codegen/repack/functional/1.Expect2Events.rb
245
+ - lib/lib/dialect/codegen/repack/functional/2.2.1.Events2ModReceive.rb
246
+ - lib/lib/dialect/codegen/repack/functional/2.2.2.ModReceive2AppEvent.rb
247
+ - lib/lib/dialect/codegen/repack/functional/5.1.Element2ModElements.rb
248
+ - lib/lib/dialect/codegen/repack/functional/5.2.Element2ModSend.rb
249
+ - lib/lib/dialect/codegen/repack/functional/7.ElementChains.rb
250
+ - lib/lib/dialect/codegen/run.rb
251
+ - lib/lib/metamess/_run.rb
252
+ - lib/lib/metamess/content/content_o-command_f.rb
253
+ - lib/lib/metamess/content/content_o-media_f.rb
254
+ - lib/lib/metamess/content/content_o-simple_f.rb
255
+ - lib/lib/metamess/content/content_o.rb
256
+ - lib/lib/metamess/event/notify_o-chatmember_f.rb
257
+ - lib/lib/metamess/event/notify_o-chattitle_f.rb
258
+ - lib/lib/metamess/event/notify_o-create_f.rb
259
+ - lib/lib/metamess/event/notify_o-migrate_f.rb
260
+ - lib/lib/metamess/event/notify_o-pinned_f.rb
261
+ - lib/lib/metamess/event/notify_o.rb
262
+ - lib/lib/metamess/event_c.rb
263
+ - lib/lib/metamess/func.rb
264
+ - lib/lib/metamess/service/service_o-callback_f.rb
265
+ - lib/lib/metamess/service/service_o-inline_f.rb
266
+ - lib/lib/metamess/service/service_o.rb
267
+ - lib/lib/naming.rb
268
+ - lib/lib/storage/redis/redisPubSub.rb
269
+ - lib/lib/storage/redis/rediscached.rb
270
+ - lib/lib/tdlib/auth.rb
271
+ - lib/lib/tdlib/func.rb
272
+ - lib/lib/tdlib/init.rb
273
+ - lib/lib/telegram/botapi.rb
274
+ - lib/lib/telegram/infra_info.rb
275
+ - lib/lib/telegram/wrappers.rb
276
+ - lib/lib/tooling/lang.rb
277
+ - lib/lib/tooling/log.rb
278
+ - lib/lib/tooling/ruby.rb
279
+ - lib/version.rb
280
+ - logo.png
281
+ homepage: https://gitlab.com/Innosense/MVP/dialog_ruby
282
+ licenses:
283
+ - CC-BY-SA-4.0
284
+ metadata: {}
285
+ post_install_message:
286
+ rdoc_options: []
287
+ require_paths:
288
+ - lib
289
+ required_ruby_version: !ruby/object:Gem::Requirement
290
+ requirements:
291
+ - - ">="
292
+ - !ruby/object:Gem::Version
293
+ version: '0'
294
+ required_rubygems_version: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '0'
299
+ requirements: []
300
+ rubyforge_project:
301
+ rubygems_version: 2.7.3
302
+ signing_key:
303
+ specification_version: 4
304
+ summary: Communication prototyping platform
305
+ test_files: []