diff --git a/lib/src/user.dart b/lib/src/user.dart index 5cd4563f..03b3881e 100644 --- a/lib/src/user.dart +++ b/lib/src/user.dart @@ -169,10 +169,14 @@ class User extends Event { room.canKick && powerLevel < room.ownPowerLevel; + @Deprecated('Use [canChangeUserPowerLevel] instead.') + bool get canChangePowerLevel => canChangeUserPowerLevel; + /// Whether the client is allowed to change the power level of this user. /// Please be aware that you can only set the power level to at least your own! - bool get canChangePowerLevel => - room.canChangePowerLevel && powerLevel < room.ownPowerLevel; + bool get canChangeUserPowerLevel => + room.canChangePowerLevel && + (powerLevel < room.ownPowerLevel || id == room.client.userID); @override bool operator ==(Object other) => (other is User && diff --git a/test/user_test.dart b/test/user_test.dart index c88b75c1..a00708a5 100644 --- a/test/user_test.dart +++ b/test/user_test.dart @@ -140,7 +140,7 @@ void main() { expect(user1.canKick, false); }); test('canChangePowerLevel', () async { - expect(user1.canChangePowerLevel, false); + expect(user1.canChangeUserPowerLevel, false); }); test('mention', () async { expect(user1.mention, '@[Alice M]');