Class: FeishuBot::FeishuMessagesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/feishu_bot/feishu_messages_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/controllers/feishu_bot/feishu_messages_controller.rb', line 7

def create
  return render json: {challenge: params[:challenge]} if params[:challenge]

  if params[:event][:type] == 'message'
    user = FeishuUser.find_or_initialize_by(uid: params[:event][:open_id])
    user.save
    message = FeishuMessage.find_or_initialize_by(uuid: params[:uuid]) do |d|
      d.uid = params[:event][:open_id]
      d.feishu_user_id = user.id
      if params[:event][:msg_type] == 'image'
        d.key = params[:event][:image_key]
      elsif params[:event][:msg_type] == 'file'
        d.key = params[:event][:file_key]
      end
      d.clazz = params[:event][:msg_type]
      d.content = params[:event][:text]
    end
    message.save
  end

  render json: {success: true}
end