Kaynağa Gözat

fix application reactions

Kylie Jo Swistak 5 yıl önce
ebeveyn
işleme
6199ab24e1
3 değiştirilmiş dosya ile 16 ekleme ve 13 silme
  1. 1 1
      app/app_forms/app_form.rb
  2. 4 6
      app/controllers/character_controller.rb
  3. 11 6
      bot.rb

+ 1 - 1
app/app_forms/app_form.rb

@@ -32,7 +32,7 @@ class ApplicationForm
     end
   end
 
-  def remove(event)
+  def self.remove(event)
     crosses = event.message.reacted_with(Emoji::CROSS)
     crosses.each do |cross|
       member = event.server.member(cross.id)

+ 4 - 6
app/controllers/character_controller.rb

@@ -26,12 +26,6 @@ class CharacterController
     user = User.find(user_id[1])
     member = event.server.member(user_id[1])
 
-    # Error, if member cannot be found
-    if member.nil?
-      event.message.react(Emoji::WHAT)
-      return 'invalid'
-    end
-
     # Count the active characters, and subtract from their allowed max
     chars = Character.where(active: 'Active', user_id: user.id).count
     if user.allowed_chars(member) - chars > 0
@@ -39,5 +33,9 @@ class CharacterController
     else
       false
     end
+  rescue ActiveRecord::RecordNotFound => e
+    error_embed("Record not Found!", e.message)
+  rescue StandardError => e
+    error_embed(e.message)
   end
 end

+ 11 - 6
bot.rb

@@ -69,13 +69,18 @@ bot.message do |event|
   elsif author.id == ENV['WEBHOOK'].to_i
     # Save the app, and check app if character
     app = event.message.embeds.first
-    er = CharacterController.check_user(event) if app.author.name == 'Character Application'
-
-    case er
-    when true, nil
+    if app.author.name == 'Character Application'
+      case reply = CharacterController.authenticate_char_app(event)
+      when Embed
+        BotController.application_react(event)
+        BotController.reply(bot, event, reply)
+      when true
+        BotController.application_react(event)
+      when false
+        BotController.unauthorized_char_app(bot, event, member)
+      end
+    else
       BotController.application_react(event)
-    when false
-      BotController.unauthorized_char_app(bot, event, member)
     end
 
   # Check for a clear command