MCPcopy Create free account
hub / github.com/Botloader/botloader / discord_create_role

Method discord_create_role

components/runtime/src/extensions/discord.rs:1113–1149  ·  view source on GitHub ↗
(&self, arg: OpCreateRoleFields)

Source from the content-addressed store, hash-verified

1111
1112 #[allow(async_fn_in_trait)]
1113 async fn discord_create_role(&self, arg: OpCreateRoleFields) -> Result<Role, anyhow::Error> {
1114 let rt_ctx = get_rt_ctx(&self.state);
1115
1116 let created = discord_request_with_extra_error(&self.state, async move {
1117 let mut create_role = rt_ctx.discord_config.client.create_role(rt_ctx.guild_id);
1118
1119 if let Some(color) = arg.color {
1120 create_role = create_role.color(color);
1121 }
1122 if let Some(colors) = arg.colors {
1123 create_role = create_role.colors(colors.into());
1124 }
1125 if let Some(hoist) = arg.hoist {
1126 create_role = create_role.hoist(hoist);
1127 }
1128 if let Some(mentionable) = arg.mentionable {
1129 create_role = create_role.mentionable(mentionable);
1130 }
1131 if let Some(name) = &arg.name {
1132 create_role = create_role.name(&name);
1133 }
1134 if let Some(permissions) = arg.permissions {
1135 let parsed: u64 = permissions.parse()?;
1136 create_role = create_role.permissions(Permissions::from_bits_truncate(parsed));
1137 }
1138 if let Some(unicode_emoji) = &arg.unicode_emoji {
1139 create_role = create_role.unicode_emoji(&unicode_emoji);
1140 }
1141
1142 Ok(create_role.await)
1143 })
1144 .await?
1145 .model()
1146 .await?;
1147
1148 Ok(created.into())
1149 }
1150
1151 #[allow(async_fn_in_trait)]
1152 async fn discord_update_role(&self, arg: OpUpdateRoleFields) -> Result<Role, anyhow::Error> {

Callers

nothing calls this directly

Calls 3

get_rt_ctxFunction · 0.85
nameMethod · 0.45

Tested by

no test coverage detected