1
0
Fork 0
This repository has been archived on 2023-03-27. You can view files and clone it, but cannot push or open issues or pull requests.
lpr-partynest/app/controllers/telegram_bot_updates_controller.rb
2018-11-29 21:54:47 +05:00

40 lines
977 B
Ruby

# frozen_string_literal: true
class TelegramBotUpdatesController < ApplicationController
before_action :set_telegram_bot
before_action :verify_telegram_bot_secret
# POST /telegram_bot_updates
def create
logger.info params.inspect
handle_message params[:message] if params[:message]
render status: :no_content, json: {}
end
private
def set_telegram_bot
@telegram_bot = TelegramBot.find params[:telegram_bot_id]
end
def verify_telegram_bot_secret
raise NotAuthorizedError unless params[:secret] == @telegram_bot.secret
end
def handle_message(message)
handle_user message[:from] if message[:from]
end
def handle_user(user)
TelegramUser.create!(
remote_telegram_id: user[:id],
is_bot: user[:is_bot],
first_name: user[:first_name],
last_name: user[:last_name],
username: user[:username],
language_code: user[:language_code],
)
end
end