confirm_archive.rb 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. require './app/app_forms/app_form.rb'
  2. class ConfirmArchive < ApplicationForm
  3. def self.process
  4. @process ||= Application.new('Team Alert') do |event|
  5. # Check votes
  6. check_votes(event, 1)
  7. rescue StandardError => e
  8. error_embed(e.message)
  9. end
  10. end
  11. def self.approve(event)
  12. app = event.message.embeds.first
  13. character = Character.find(app.footer.text.to_i)
  14. # Check users that reacted, execute on authorized user
  15. ys = event.message.reacted_with(Emoji::Y)
  16. ys.each do |y|
  17. member = event.server.member(y.id)
  18. if character.user_id = y.id || Util::Roles.admin?(member)
  19. char_teams = CharTeam.where(char_id: character.id)
  20. char_teams.each do |ct|
  21. team = Team.find(ct.team_id)
  22. team.leave(character)
  23. end
  24. character.update(active: 'Archived')
  25. embed = success_embed("Successfully Archived #{character.name}")
  26. event.message.delete
  27. [BotResponse.new(destination: ENV['APP_CH'], embed: embed),
  28. BotResponse.new(embed: embed)]
  29. end
  30. end
  31. end
  32. def self.deny(event)
  33. app = event.message.embeds.first
  34. character = Character.find(app.footer.text.to_i)
  35. ns = event.message.reacted_with(Emoji::N)
  36. ns.each do |n|
  37. member = event.server.member(n.id)
  38. event.message.delete if character.user_id = n.id || Util::Roles.admin?(member)
  39. end
  40. end
  41. end