Add User.mentioned_in helper to check if a message mentions you.
This commit is contained in:
parent
3758c0aa83
commit
e2bfa90eef
@ -26,7 +26,7 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
|
|
||||||
from .user import User
|
from .user import User
|
||||||
from .game import Game
|
from .game import Game
|
||||||
from .utils import parse_time
|
from . import utils
|
||||||
from .enums import Status
|
from .enums import Status
|
||||||
from .colour import Colour
|
from .colour import Colour
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ class Member(User):
|
|||||||
super().__init__(**kwargs.get('user'))
|
super().__init__(**kwargs.get('user'))
|
||||||
self.deaf = kwargs.get('deaf')
|
self.deaf = kwargs.get('deaf')
|
||||||
self.mute = kwargs.get('mute')
|
self.mute = kwargs.get('mute')
|
||||||
self.joined_at = parse_time(kwargs.get('joined_at'))
|
self.joined_at = utils.parse_time(kwargs.get('joined_at'))
|
||||||
self.roles = kwargs.get('roles', [])
|
self.roles = kwargs.get('roles', [])
|
||||||
self.status = Status.offline
|
self.status = Status.offline
|
||||||
game = kwargs.get('game', {})
|
game = kwargs.get('game', {})
|
||||||
@ -133,3 +133,17 @@ class Member(User):
|
|||||||
return '<@{}>'.format(self.id)
|
return '<@{}>'.format(self.id)
|
||||||
|
|
||||||
mention.__doc__ = User.mention.__doc__
|
mention.__doc__ = User.mention.__doc__
|
||||||
|
|
||||||
|
def mentioned_in(self, message):
|
||||||
|
mentioned = super().mentioned_in(message)
|
||||||
|
if mentioned:
|
||||||
|
return True
|
||||||
|
|
||||||
|
for role in message.role_mentions:
|
||||||
|
has_role = utils.get(self.roles, id=role.id) is not None
|
||||||
|
if has_role:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
|
mentioned_in.__doc__ = User.mentioned_in.__doc__
|
||||||
|
@ -135,3 +135,19 @@ class User:
|
|||||||
"""
|
"""
|
||||||
return getattr(self, 'nick', None) or self.name
|
return getattr(self, 'nick', None) or self.name
|
||||||
|
|
||||||
|
def mentioned_in(self, message):
|
||||||
|
"""Checks if the user is mentioned in the specified message.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
-----------
|
||||||
|
message : :class:`Message`
|
||||||
|
The message to check if you're mentioned in.
|
||||||
|
"""
|
||||||
|
|
||||||
|
if message.mention_everyone:
|
||||||
|
return True
|
||||||
|
|
||||||
|
if self in message.mentions:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
Loading…
x
Reference in New Issue
Block a user