class Mod_RoleChooser < Vrobot4::Module::Module def self.type() "RoleChooser" end Vrobot4::Module.add_module_type self, server: "Discord" def initialize info super register :c_addvrole, "addvroles", "Adds another vanity role to you." register :c_delvrole, "delvroles", "Removes a vanity role from you." register :c_listvroles, "listvroles", "Lists available vanity roles." @info.map! do |id| id.resolve_id end end def get_role m, argv roles = m.chan.real.server.roles role = roles.find do |r| r.name.casecmp(argv) == 0 end unless role and @info.any? do |id| role.id == id end raise ArgumentError, "Invalid role, use .listvroles for a list." end role end def c_addvrole m, argv m.user.real.add_role get_role(m, argv) m.reply "Successfully added you to the vanity role." end def c_delvrole m, argv m.user.real.remove_role get_role(m, argv) m.reply "Successfully removed you from the vanity role." end def c_listvroles m, argv text = "" for role in @info do text << m.chan.real.server.role(role).name + ?\n end m.reply text end end ## EOF