File tree Expand file tree Collapse file tree 2 files changed +52
-0
lines changed
Expand file tree Collapse file tree 2 files changed +52
-0
lines changed Original file line number Diff line number Diff line change @@ -1918,6 +1918,32 @@ impl Guild {
19181918 )
19191919 }
19201920
1921+ /// Calculate a [`PartialMember`]'s permissions in the guild.
1922+ ///
1923+ /// # Panics
1924+ ///
1925+ /// Panics if the passed [`UserId`] does not match the [`PartialMember`] id, if user is Some.
1926+ #[ inline]
1927+ #[ must_use]
1928+ pub fn partial_member_permissions (
1929+ & self ,
1930+ member_id : UserId ,
1931+ member : & PartialMember ,
1932+ ) -> Permissions {
1933+ if let Some ( user) = & member. user {
1934+ assert_eq ! ( user. id, member_id, "User::id does not match provided PartialMember" ) ;
1935+ }
1936+
1937+ Self :: user_permissions_in_ (
1938+ None ,
1939+ member_id,
1940+ & member. roles ,
1941+ self . id ,
1942+ & self . roles ,
1943+ self . owner_id ,
1944+ )
1945+ }
1946+
19211947 /// Moves a member to a specific voice channel.
19221948 ///
19231949 /// Requires the [Move Members] permission.
Original file line number Diff line number Diff line change @@ -1046,6 +1046,32 @@ impl PartialGuild {
10461046 )
10471047 }
10481048
1049+ /// Calculate a [`PartialMember`]'s permissions in the guild.
1050+ ///
1051+ /// # Panics
1052+ ///
1053+ /// Panics if the passed [`UserId`] does not match the [`PartialMember`] id, if user is Some.
1054+ #[ inline]
1055+ #[ must_use]
1056+ pub fn partial_member_permissions (
1057+ & self ,
1058+ member_id : UserId ,
1059+ member : & PartialMember ,
1060+ ) -> Permissions {
1061+ if let Some ( user) = & member. user {
1062+ assert_eq ! ( user. id, member_id, "User::id does not match provided PartialMember" ) ;
1063+ }
1064+
1065+ Guild :: user_permissions_in_ (
1066+ None ,
1067+ member_id,
1068+ & member. roles ,
1069+ self . id ,
1070+ & self . roles ,
1071+ self . owner_id ,
1072+ )
1073+ }
1074+
10491075 /// Calculate a [`PartialMember`]'s permissions in a given channel in a guild.
10501076 ///
10511077 /// # Panics
You can’t perform that action at this time.
0 commit comments