| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- MSG = "Please resubmit when you've addressed the issues!\n"
- FTR = "If you have any questions, feel free to ask a Guildmaster"
- def reject_app(app, opts)
- embed = Embed.new(
- title: app.fields[1].value || 'Unknown Character',
- description: app.description,
- color: ERROR,
- author: {
- name: app.author.name.gsub('Application', 'Rejection'),
- icon_url: app.author.icon_url
- },
- footer: { text: app.footer.text }
- )
- fields = case opts
- when :character
- reject_fields(CharApp::REJECT_MESSAGES)
- when :image
- reject_fields(ImgApp::REJECT_MESSAGES)
- when :landmark
- reject_fields(LmApp::REJECT_MESSAGES)
- when :reactivation
- # Find Character
- character = Character.find(app.footer.text.match(/\|\s(\d+)$/)[1])
- # Set embed up correctly
- embed.title = character.name
- embed.description = "<@#{character.user_id}>"
- embed.footer = { text: character.edit_url }
- embed.author = { name: 'Character Rejection' }
- reject_fields(CharApp::REJECT_MESSAGES)
- end
- # Add one last field and update embed
- fields.push({ name: Emoji::CHECK, value: "Indicates you are finished" })
- embed.fields = fields
- embed
- end
- def reject_fields(message_hash)
- message_hash.map{ |e,m| { name: e, value: m, inline: true } }
- end
- def rejected_app(event, opts)
- # Save the app and the reactions
- app = event.message.embeds.first
- reactions = event.message.reactions
- # Fill out the selected messages in accordance with the form
- fields =
- case opts
- when :character
- [{
- name: "Messages from the admin:",
- value: selected_messages(reactions, CharApp::REJECT_MESSAGES).
- join("\n") || 'No messages given'
- },{
- name: MSG,
- value: "[Edit Your Application](#{Url::CHARACTER}" +
- "#{app.footer.text})"
- }]
- when :image
- [{
- name: "Messages from the admin:",
- value: selected_messages(reactions, ImgApp::REJECT_MESSAGES).
- join("\n") || 'No messages given'
- }]
- when :landmark
- [{
- name: "Messages from the admin:",
- value: selected_messages(reactions, LmApp::REJECT_MESSAGES).
- join("\n") || 'No messages given'
- },{
- name: MSG,
- value: "[Edit Your Application](#{URL::LANDMARK}" +
- "#{app.footer.text})"
- }]
- end
- # Populate embed and return
- Embed.new(
- title: "Your application has been rejected!",
- description: app.title,
- color: ERROR,
- footer: { text: FTR },
- fields: fields
- )
- end
- def selected_messages(reactions, hash)
- messages = []
- hash.each do |emoji, message|
- messages.push(message) if reactions[emoji]&.count.to_i > 1
- end
- messages
- end
- def self_edit_embed(edit_url, form)
- Embed.new(
- title: "Don't forget to resubmit!",
- color: ERROR,
- description: "[Edit the Application](#{form}#{edit_url})"
- )
- end
|