bot_controller.rb 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. class BotController
  2. def self.reply(bot, event, response)
  3. case response
  4. when Array
  5. response.each do |r|
  6. r.call(event, bot) if r.is_a? BotResponse
  7. end
  8. when BotResponse
  9. response.call(event, bot)
  10. when Embed
  11. event.send_embed("", response)
  12. when String
  13. event.respond(response)
  14. end
  15. end
  16. def self.application_react(event)
  17. Emoji::APPLICATION.each do |e|
  18. event.message.react(e)
  19. end
  20. end
  21. def self.unauthorized_char_app(bot, event)
  22. # Save app
  23. app = event.message.embeds.first
  24. # Save user_id and edit_url
  25. user_id = app.description.match(UID)[1]
  26. edit_url = app.footer.text
  27. # Find the discord member
  28. member = event.server.member(user_id)
  29. embed = Embed.new(
  30. title: "You have too many characters!",
  31. description: "Please deactivate and try again " +
  32. "[here](#{Url::CHARACTER}#{edit_url})"
  33. )
  34. response = [
  35. BotResponse.new(destination: member.dm, embed: embed),
  36. BotResponse.new(embed: embed)
  37. ]
  38. event.message.delete
  39. reply(bot, event, response)
  40. end
  41. end