module Dialog::ElementSend

Public Class Methods

answer_DialogModSendRecognizeCommonAction_fail() click to toggle source
# File lib/dialect/canvas/element/send/recognize.rb, line 43
        def answer_DialogModSendRecognizeCommonAction_fail
          <<-HEREDOC
  Изображение не содержит какой-либо код или сфотографировано не чётко.
          HEREDOC
        end
answer_DialogModSendRecognizeCommonAction_success(codeType, response) click to toggle source
# File lib/dialect/canvas/element/send/recognize.rb, line 36
        def answer_DialogModSendRecognizeCommonAction_success(codeType, response)
          <<-HEREDOC
  *Тип кода*: #{codeType} 
  *Содержание*: #{response}
          HEREDOC
        end
kbForming(args, key) click to toggle source
# File lib/dialect/canvas/element/send/keyboards.rb, line 18
def kbForming(args, key)
  if args[:smsg].has_key?(key) 

    args[:smsg][:reply_markup][key] = args[:smsg][key]
    args[:smsg].delete(key)
  end
end
send_DialogElementSendBot_messageDelete(args) click to toggle source
# File lib/dialect/canvas/element/send/bot_message.rb, line 22
def send_DialogElementSendBot_messageDelete(args)
  args[:api] = {:op => 'deleteMessage'}
  args[:smsg][:message_id] = args[:mmsg][:fqndata][:o][:msg][:id]
  return Dialog::BotApi.apiAction(args)        
end
send_DialogElementSendBot_messageForward(args) click to toggle source
# File lib/dialect/canvas/element/send/bot_message.rb, line 28
def send_DialogElementSendBot_messageForward(args)
  args[:api] = {:op => 'forwardMessage'}
  args[:smsg][:message_id] = args[:mmsg][:fqndata][:o][:msg][:id]
  args[:smsg][:chat_id] = args[:mmsg][:fqndata][:o][:chat][:id]  
  return Dialog::BotApi.apiAction(args)
end
send_DialogElementSendBot_messageSend(args) click to toggle source
# File lib/dialect/canvas/element/send/bot_message.rb, line 17
def send_DialogElementSendBot_messageSend(args)
  args[:api] = {:op => 'sendMessage'}
  return Dialog::BotApi.apiAction(args)
end
send_DialogElementSendExecBackground(args) click to toggle source
# File lib/dialect/canvas/element/send/background.rb, line 18
def send_DialogElementSendExecBackground(args)
  require "#{Dialog.config.path.dialog_ruby}/background/batch"        
  res = Dialog::Background::BotApi.perform_async(Dialog.config.naming.instance, args[:mmsg])               
  Dialog.logger.debug "Async result: '#{res}'"      
end
send_DialogElementSendInline_keyboardStatic(args) click to toggle source
# File lib/dialect/canvas/element/send/keyboards.rb, line 47
def send_DialogElementSendInline_keyboardStatic(args)     
  args[:smsg][:reply_markup] = { 
    inline_keyboard: Dialog::ModSend.makeKeyboard(
      args, 
      :inline, 
      args[:x][:exec][:DialogElementSendInline_keyboardStatic][:DialogModElementInline_keyboardButton])}
  send_DialogElementSendBot_messageSend(args)
end
send_DialogElementSendInline_query_resultArticle(args) click to toggle source
# File lib/dialect/canvas/element/send/Inline_query_result.rb, line 17
def send_DialogElementSendInline_query_resultArticle(args)
    args[:smsg] ||={}
    args[:x].has_key?(:dataResp) ? results = args[:x][:dataResp] : results = makeInline_query_resultArticle(args, props, viewId)        
    args[:smsg][:results] = results
    return Dialog::BotApi.apiAction(args)        
end
send_DialogElementSendInline_query_resultDocument(args) click to toggle source
# File lib/dialect/canvas/element/send/Inline_query_result.rb, line 24
def send_DialogElementSendInline_query_resultDocument(args)
    args[:smsg] ||={}
    args[:x].has_key?(:dataResp) ? results = args[:x][:dataResp] : results = makeInline_query_resultDocument(args, props, viewId)        
    args[:smsg][:results] = results
    return Dialog::BotApi.apiAction(args)        
end
send_DialogElementSendPermissionsLimit(args) click to toggle source
# File lib/dialect/canvas/element/send/restrict.rb, line 17
def send_DialogElementSendPermissionsLimit(args)
  args[:api] = {:op => 'restrictChatMember'}
  args[:smsg][:chat_id] = args[:mmsg][:fqndata][:o][:chat][:id]  
  args[:smsg][:until_date] = 0
  args[:smsg][:can_send_messages] = false
  args[:smsg][:can_send_media_messages] = false
  args[:smsg][:can_send_other_messages] = false
  args[:smsg][:can_add_web_page_previews] = false
  return Dialog::BotApi.apiAction(args)        
end
send_DialogElementSendPermissionsNormal(args) click to toggle source
# File lib/dialect/canvas/element/send/restrict.rb, line 28
def send_DialogElementSendPermissionsNormal(args)
  args[:api] = {:op => 'restrictChatMember'}
  args[:smsg][:chat_id] = args[:mmsg][:fqndata][:o][:chat][:id]  
  args[:smsg][:can_send_messages] = true
  args[:smsg][:can_send_media_messages] = true
  args[:smsg][:can_send_other_messages] = true
  args[:smsg][:can_add_web_page_previews] = true 
  return Dialog::BotApi.apiAction(args)
end
send_DialogElementSendRecognizeCode(args) click to toggle source
# File lib/dialect/canvas/element/send/recognize.rb, line 18
def send_DialogElementSendRecognizeCode(args)
  name = "#{Dialog.config.path.dialogTmpfiles}/#{Dialog::Wrappers.downloadFile(args)}"
  attrs, stderr_str, status = Open3.capture3('/usr/bin/zbarimg', "-q", name)
  
  unless attrs == ""
    Dialog.logger.debug "#### muxFqn #{attrs}"
    response = attrs.split(':')
    codeType = response[0]
    response.shift
    text = answer_DialogModSendRecognizeCommonAction_success(codeType, response.join)
  else
    text = answer_DialogModSendRecognizeCommonAction_fail
  end
  args[:smsg][:text] = text
  args[:x][:dataRespRaw] = response  
  send_DialogElementSendBot_messageSend(args)                
end
send_DialogElementSendReply_keyboardStatic(args) click to toggle source
# File lib/dialect/canvas/element/send/keyboards.rb, line 26
def send_DialogElementSendReply_keyboardStatic(args) 
  args[:smsg][:reply_markup] = {}
  kbForming(args, :one_time_keyboard)
  kbForming(args, :selective)
  kbForming(args, :resize_keyboard)
  args[:smsg][:reply_markup][:keyboard] = Dialog::ModSend.makeKeyboard(
    args, 
    :reply, 
    args[:x][:exec][:DialogElementSendReply_keyboardStatic][:DialogModElementReply_keyboardButton])
  send_DialogElementSendBot_messageSend(args)        
end
send_DialogElementSendTdlib_chatCreate(args) click to toggle source
# File lib/dialect/canvas/element/send/tdlib_chat.rb, line 17
def send_DialogElementSendTdlib_chatCreate(args)
  args[:smsg]['@type'] = 'createNewSupergroupChat'
  args[:smsg]['title'] = 'test'    
  args[:smsg]['is_channel'] = false
  args[:smsg]['description'] = 'description'           
  args[:globals][:tdlibUser].on_ready do |client| 
    group = client.broadcast_and_receive(args[:smsg]) 
    Dialog.logger.debug "#### group created - #{group}"
  end
  ### CLEAN
  Dialog.clear(args) 
end
send_DialogElementSendTdlib_messageSend(args) click to toggle source
# File lib/dialect/canvas/element/send/tdlib_message.rb, line 17
def send_DialogElementSendTdlib_messageSend(args)
  args[:globals][:tdlibUser].on_ready do |client|
    args[:smsg]['@type'] = 'sendMessage'
    
    if args[:smsg][:chat_id] == args[:mmsg][:fqndata][:o][:from][:id]
      client.fetch('@type' => 'createPrivateChat', 'user_id' => args[:smsg][:chat_id])
    end
    
    args[:smsg]['input_message_content'] = {"@type":"inputMessageText","text":{"text": args[:smsg][:text]}}          
    args[:smsg].delete('text')
    Dialog.logger.catch "args[:smsg]::#{args[:smsg]}"          
    test = client.broadcast_and_receive(args[:smsg])
    Dialog.logger.catch "test::#{test}"           
  end
  ### CLEAN
  Dialog.clear(args)     
end
send_DialogModSendForce_reply(args) click to toggle source
# File lib/dialect/canvas/element/send/keyboards.rb, line 42
def send_DialogModSendForce_reply(args)
  Telegram::Bot::Types::ReplyKeyboardRemove.new(remove_keyboard: true, selective:args[:x][:selective])
end
send_DialogModSendReply_keyboard(args) click to toggle source
# File lib/dialect/canvas/element/send/keyboards.rb, line 38
def send_DialogModSendReply_keyboard(args)
    Telegram::Bot::Types::ForceReply.new(force_reply: true, selective: args[:x][:selective])
end