async def METHOD_NAME(self, user_id: int, issuer: int, reason: 'Optional[str]') -> 'Tuple[int, int]':
    """Add a warning to the user id."""
    assert isinstance(user_id, int), type(user_id)
    assert isinstance(reason, (str, type(None))), type(str)
    await self.bot.configuration.add_member(user_id)
    now = time_snowflake(datetime.now())
    await self._insert('warns', id=now, user_id=user_id, issuer_id=issuer, reason=reason)
    self.log.debug('Added warning %d to user id %d, %r', now, user_id, reason)
    count = await self.get_warnings_count(user_id=user_id)
    return now, count