@@ -105,7 +105,7 @@ class RoleManager extends CachedManager {
105105   * @property  {PermissionResolvable } [permissions] The permissions for the new role 
106106   * @property  {number } [position] The position of the new role 
107107   * @property  {boolean } [mentionable] Whether or not the new role should be mentionable 
108-    * @property  {?(BufferResolvable|Base64Resolvable) } [icon] The icon for the role 
108+    * @property  {?(BufferResolvable|Base64Resolvable|EmojiResolvable ) } [icon] The icon for the role 
109109   * @property  {?string } [unicodeEmoji] The name of the unicode emoji for the role 
110110   * @property  {string } [reason] The reason for creating this role 
111111   */ 
@@ -134,7 +134,10 @@ class RoleManager extends CachedManager {
134134    let  {  name,  color,  hoist,  permissions,  position,  mentionable,  reason,  icon,  unicodeEmoji }  =  options ; 
135135    if  ( color )  color  =  resolveColor ( color ) ; 
136136    if  ( typeof  permissions  !==  'undefined' )  permissions  =  new  Permissions ( permissions ) ; 
137-     if  ( icon )  icon  =  await  DataResolver . resolveImage ( icon ) ; 
137+     if  ( icon )  { 
138+       const  guildEmojiURL  =  this . guild . emojis . resolve ( icon ) ?. url ; 
139+       icon  =  guildEmojiURL  ? await  DataResolver . resolveImage ( guildEmojiURL )  : await  DataResolver . resolveImage ( icon ) ; 
140+     } 
138141
139142    const  data  =  await  this . client . api . guilds ( this . guild . id ) . roles . post ( { 
140143      data : { 
@@ -188,13 +191,19 @@ class RoleManager extends CachedManager {
188191      } ) ; 
189192    } 
190193
194+     let  icon  =  data . icon ; 
195+     if  ( typeof  icon  !==  'undefined' )  { 
196+       const  guildEmojiURL  =  this . guild . emojis . resolve ( icon ) ?. url ; 
197+       icon  =  guildEmojiURL  ? await  DataResolver . resolveImage ( guildEmojiURL )  : await  DataResolver . resolveImage ( icon ) ; 
198+     } 
199+ 
191200    const  _data  =  { 
192201      name : data . name , 
193202      color : typeof  data . color  ===  'undefined'  ? undefined  : resolveColor ( data . color ) , 
194203      hoist : data . hoist , 
195204      permissions : typeof  data . permissions  ===  'undefined'  ? undefined  : new  Permissions ( data . permissions ) , 
196205      mentionable : data . mentionable , 
197-       icon :  typeof   data . icon   ===   'undefined'  ?  undefined  :  await   DataResolver . resolveImage ( data . icon ) , 
206+       icon, 
198207      unicode_emoji : data . unicodeEmoji , 
199208    } ; 
200209
0 commit comments